Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Application


Автор: heskey 7.12.2004, 16:40
Здравсвуйте! Помогите пожалуйста разобраться в ошибке..я пишу:

var mapiItem:IMessage;
ContactFolder:MapiFolder;
ContactIt:ContactItem;
App: OutlookApplication;
NS:Namespace;

? App.Application;
или
? App.createobject(AppProgID);

NS:=App.GetNamespace('Mapi');
ContactFolder:=NS.GetDefaultFolder(olFolderContacts);
ContactIt:= _ContactItem(ContactFolder.Items.Item(1));
MapiItem:=ContactIt.MAPIOBJECT as Imessage;

не работает никакsmile(может тип App другой надо..наверно несоответствия в интерфейсах и классах..


Автор: Fantasist 7.12.2004, 21:32
Так пробовал?

Код

 App:=OutlookApplication.Create;

Автор: heskey 8.12.2004, 13:36
Пробовал..это нельзя OutlookApplication это же интерфейс..у него нет create!

Автор: Guest 15.12.2004, 19:26
Цитата(heskey @ 8.12.2004, 13:36)
Пробовал..это нельзя OutlookApplication это же интерфейс..у него нет create!


А я думал что это обертка сгенерированная визардом. Если не объяснять долго, то можно так:

Код

var
    AppCLSID:TGUID;
    App: OutlookApplication;
    pUnk:IUnknown;
begin
   AppCLSID:=ProgIDToCLSID('Outlook.Application');
   pUnk:=CreateCOMObject(AppCLSID);
   pUnk.QueryInterface(OutlookApplication,App);
end;





Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)