Meine *.ridl sieht wie folgt aus.
Delphi-Quellcode:
// ************************************************************************ //
// WARNUNG
// -------
// Diese Datei wird von dem Typbibliotheks-Importer oder dem Typbibliothekseditor
// erzeugt. Außer Syntaxfehlern analysiert der Editor an der Datei vorgenommene
// Änderungen. Wenn Sie aber Änderungen mit dem Editor vornehmen, wird diese
// Datei neu erzeugt und Kommentare oder Formatänderungen gehen verloren.
// ************************************************************************ //
// Datei erzeugt am 14.12.2011 10:03:59 (- $Rev: 12980 $, 8529900).
[
uuid(81DF182E-5186-4B80-BC0B-2B02CB6C5003),
version(1.0)
]
library ClimaController
{
importlib("stdole2.tlb");
interface ITFW_ClimaController;
coclass TFW_ClimaController;
[
uuid(8DF256B0-3FB9-428A-A4D4-DC256B9AF3BD),
helpstring("Dispatch-Interface für TFW_ClimaController-Objekt"),
dual,
oleautomation
]
interface ITFW_ClimaController: IDispatch
{
[propget, id(0x000000CA)]
HRESULT _stdcall PT1001([out, retval] double* Value);
[propget, id(0x000000CB)]
HRESULT _stdcall PT1002([out, retval] double* Value);
[propget, id(0x000000CC)]
HRESULT _stdcall PT1003([out, retval] double* Value);
[propget, id(0x000000CD)]
HRESULT _stdcall PT1004([out, retval] double* Value);
[propget, id(0x000000CE)]
HRESULT _stdcall NO2([out, retval] double* Value);
[propget, id(0x000000CF)]
HRESULT _stdcall State([out, retval] int* Value);
[propget, id(0x000000D0)]
HRESULT _stdcall Error([out, retval] int* Value);
[propget, id(0x000000D1)]
HRESULT _stdcall ErrorMsg([out, retval] BSTR* Value);
[propget, id(0x000000D2)]
HRESULT _stdcall get_tSet([out, retval] double* Value);
[id(0x000000D3)]
HRESULT _stdcall set_tSet([in] double Param1);
[propget, id(0x000000C9)]
HRESULT _stdcall Chamber([out, retval] double* Value);
};
[
uuid(12EE300E-BF96-4984-9467-88562F62E2F8),
helpstring("TFW_ClimaController Objekt")
]
coclass TFW_ClimaController
{
[default] interface ITFW_ClimaController;
};
};
Dies wurde automatisch erzeugt, habe lediglich über den Assi die Methode und einige Eigenschaften hinzugefügt.
Wie für das late binding benötigt, würde ich nun davon ausgehen, dass eine IDispatch Schnittstelle realisiert wurde.
Nur wie komm ich in meinem Client an die Eigenschaften und Methoden ran ohne diese "blind" eingeben zu müssen?
Dabei geht es darum die vTable, welche sonst durch das Einbinden der TLB erzeugt wird, nun nach einem late binding zu erhalten.
Freue mich sehr über eure Hilfe, aktuell komm ich einfach nicht weiter.