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
}
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_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
.