Hallo zusammen
Ich beschäftige mich gerade mit
COM-Servern und habe nach einigen Recherchen und Experimenten einige Fragen.
Zuerst aber einmal was ich machen möchte/schon gemacht habe: Ich habe, in einer
DLL implementiert, einen
COM-Server (über ROT registriert) den ich für alle Programme zurückgebe (dual, oleautomation; abgel. von IDispatch).
Dieser Server soll verschiedene "Geräte" (z.B.: über die serielle Schnittstelle) verwalten und diese meinen Applikationen anbieten.
Ich dachte an ein paar Funktionen wie (EnumDevices, GetDeviceList, OpenDevice) wobei EnumDevices im
COM-Server eine Liste der Geräte zusammenstellt. Mit GetDeviceList sollte eine Liste von IDs (Strings) zurückgegeben werden (Variant Array??), mit deren Hilfe dann eines der Geräte über OpenDevice geöffnet werden kann.
OpenDevice könnte jetzt eine neues
COM-Objekt zurückgeben über das ich die Eigenschaften des entspr. Gerätes ansprechen kann.
Nun zu meinen Fragen:
- Ist das vom Grundkonzept ok? Also der eine Server der weitere COM-Objekte liefert?
- Zusätzlich war es mir bisher nicht möglich überhaupt ein COM-Objekt als "out" bzw "retval" zurückzugeben (ich kriege immer "Out parameter requires pointer type")?
- Ist Delphi (2007) einwenig instabil was COM-Experimente angeht (manchmal vergisst Delphi den Unterschrich vor TLB und kann das Projekt nicht mehr compilieren)?
TIA