Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с add-in для MS Outlook 
:(
    Опции темы
jenya7
Дата 25.9.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



Создал add-in для MS Outlook. При регистрации получаю ошибку:
file not found Outlook_TLB.dcu
Заранее спасибо.
PM MAIL   Вверх
jenya7
Дата 26.9.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.9.2007

Репутация: нет
Всего: нет



вот мой код

{
   1. Step
   Create an ActiveX-Library
   Save the project as e.g. "OLAddIn.dpr"

   2. Step
   Create an automation object
  Call the CoClass e.g. "AddIn"
  Save the Unit as "AddIn.pas"

  3. Step
   Add to the uses clause
  - AddInDesignerObjects_TLB
  - Outlook_TLB

   add to the interface list of TAddIn
  - IDTExtensibility2

    Add the following methods to TAddIn
}

-     procedure OnConnection(const Application: IDispatch; ConnectMode: ext_ConnectMode;
                           const AddInInst: IDispatch; var custom: PSafeArray); safecall;
-     procedure OnDisconnection(RemoveMode: ext_DisconnectMode; var custom: PSafeArray); safecall;
-     procedure OnAddInsUpdate(var custom: PSafeArray); safecall;
-     procedure OnStartupComplete(var custom: PSafeArray); safecall;
-     procedure OnBeginShutdown(var custom: PSafeArray); safecall;

{
  
  and complete the class by pressing Ctrl-Shft-C

   4. Step
   Register the COM-object with "run / register ActiveX Server"
  Register the AddIn, so that the Addin will be recognized by Outlook
  - Create a new key: HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\OLAddIn.AddIn
  - create a DWOrd "LoadBehavior" with the value 3

   5. Step
   Compile the AddIn
  Start Outllok

  Sourcecode

  *********************************************************************************
}


Код

library OLAddIn;

uses
  ComServ,
  OLAddIn_TLB in 'OLAddIn_TLB.pas',
  AddIn in 'AddIn.pas' {AddIn: CoClass};

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer;

{$R *.TLB}

{$R *.RES}

begin
end.

{
*********************************************************************************
*********************************************************************************
}

unit AddIn;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  ComObj, ActiveX, OLAddIn_TLB, StdVcl, AddinDesignerObjects_TLB, Outlook_TLB;

type
  TAddIn = class(TAutoObject, IAddIn, IDTExtensibility2)
  protected
    { Protected declarations }
    procedure OnConnection(const Application: IDispatch; ConnectMode: ext_ConnectMode;
                           const AddInInst: IDispatch; var custom: PSafeArray); safecall;
    procedure OnDisconnection(RemoveMode: ext_DisconnectMode; var custom: PSafeArray); safecall;
    procedure OnAddInsUpdate(var custom: PSafeArray); safecall;
    procedure OnStartupComplete(var custom: PSafeArray); safecall;
    procedure OnBeginShutdown(var custom: PSafeArray); safecall;
  end;

implementation

uses ComServ, Dialogs;

{ TAddIn }

procedure TAddIn.OnAddInsUpdate(var custom: PSafeArray);
begin

end;

procedure TAddIn.OnBeginShutdown(var custom: PSafeArray);
begin

end;

procedure TAddIn.OnConnection(const Application: IDispatch;
  ConnectMode: ext_ConnectMode; const AddInInst: IDispatch;
  var custom: PSafeArray);
begin
  // To show, that the AddIn has started just say anything
  ShowMessage('Das AddIn wurde gestartet');
end;

procedure TAddIn.OnDisconnection(RemoveMode: ext_DisconnectMode;
  var custom: PSafeArray);
begin

end;

procedure TAddIn.OnStartupComplete(var custom: PSafeArray);
begin

end;

initialization
  TAutoObjectFactory.Create(ComServer, TAddIn, Class_AddIn,
    ciMultiInstance, tmApartment);
end.




M
Alexeis
Модератор: используйте подсветку кода  http://forum.vingrad.ru/index.php?show_typ...howtopic=126445


Это сообщение отредактировал(а) Alexeis - 26.9.2007, 11:57
PM MAIL   Вверх
2fank
Дата 22.10.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2007

Репутация: нет
Всего: нет



Project -> Import Type Library -> Microsoft Outlook xx.x Object Library -> Create Unit
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.