Как написать Outlook AddIn? |
Previous Top Next |
Code: |
{ 1. Create an ActiveX-Library Save the project as e.g. "OLAddIn.dpr"
2.Create an automation object Call the CoClass e.g. "AddIn" Save the Unit as "AddIn.pas"
3. Add to the uses clause - AddInDesignerObjects_TLB - Outlook_TLB
}
- 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. 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. |
Code: |
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. |
©Drkb::04440
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php