Zitat von
skyware:
als Wert im "extraButtonsComHandler" habe ich "HorizonPDFMachine.dll" eingetragen.
Das ist wohl nicht ganz richtig; du musst nicht den Namen der
DLL, sondern die
ClassId deiner Klasse eintragen.
Hier deine TLB-Datei (im IDL-format):
Code:
library HorizonPDFMachine
{
// TLib : // TLib :
OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface IPdfButton;
[
odl,
uuid(569A5C4B-839E-4199-87DC-6385C39577E6),
version(1.0),
helpstring("Dispatch-Schnittstelle für PdfButton-Objekt"),
dual,
oleautomation
]
interface IPdfButton : IDispatch {
[id(0x00000001)]
HRESULT clicked(
[in] BSTR buttonText,
[in] IDispatch* pdfMachineviewer);
};
[
uuid(F557474E-27A7-44E7-8B04-263351DCA7BD),
version(1.0),
helpstring("PdfButton Objekt")
]
coclass PdfButton {
[default] interface IPdfButton;
};
};
Deine Bibliothek heisst HorizonPDFMachine, deine CoClass heisst PdfButton
=> ClassID = '
HorizonPDFMachine.PdfButton'
Windows findet deine
DLL über Einträge in der Registry/
COM-Datenbank.
Dazu musst du sie aber registrieren mit RegSvr32.exe oder in Delphi mit Start->
ActiveX Server eintragen