![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Приветствую всех и каждого!
Пишу простейшую программу, которая отсылает через MS Outlook 2010 письмо. Делаю это следующим образом: Код:
uses
ComObj;
var
OutlookApp, SpamNameSpace, MyLetter: OleVariant;
procedure TForm1.SendMail(Subject, Body, RecvAddress: string; Attachs: array of string);
begin
try
OutlookApp := GetActiveOleObject('Outlook.Application');
except
OutlookApp := CreateOleObject('Outlook.Application');
end;
try
SpamNameSpace := OutlookApp.GetNameSpace('MAPI');
MyLetter := OutlookApp.CreateItem(0);
MyLetter.To := RecvAddress;
MyLetter.Body := Body;
MyLetter.Subject := Subject;
MyLetter.Attachments.Add(paramstr(0));
//MyLetter.DeleteAfterSubmit := True;
MyLetter.Send;
finally
OutlookApp.Quit;
end;
end;На строке Код:
OutlookApp := GetActiveOleObject('Outlook.Application');Код:
Exception class EOleSysError with message 'Недопустимая строка с указанием класса, ProgID: "Outlook.Application"' |
|
#2
|
||||
|
||||
|
удалить try..except и оставить CreateOleObject('Outlook.Application');
|
|
#3
|
|||
|
|||
|
Цитата:
Все равно ругается той же ошибкой на той же строке. Такое ощущение, что в новом 2010 оутлуке как-то по другому процесс называется |
|
#4
|
||||
|
||||
|
в реестре глянь
|
|
#5
|
|||
|
|||
|
Цитата:
Если не затруднит, подскажи, где конкретно посмотреть? Ветку реестра назвать можешь? |
|
#6
|
||||
|
||||
|
ну должна быть HKEY_CLASSES_ROOT\Outlook.Application
|