Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ 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 } procedureOnConnection(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_USERSoftwareMicrosoftOfficeOutlookAddinsOLAddIn.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
. { ********************************************************** ********************************************************** }
unitAddIn; {$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
.