Einzelnen Beitrag anzeigen

tgoessi

Registriert seit: 31. Mai 2005
34 Beiträge
 
Delphi 5 Enterprise
 
#1

Welches Objekt für COM-Server mit AktivX-Schnittstelle verwe

  Alt 31. Mai 2005, 13:50
Hallo

In einer Applikation muss ich einem anderen Programm eine Active-X Schnittstelle zur Verfügung stellen. Verwendet wird ein IDispatch-Interface. Es sollen auch Events gefeuert werden können.

Ich habe nun mal einen Automation-Server programmiert und dazu das Objekt TAutoObject verwendet. In der Schnittstelle wird eine Collection verwendet, für die ich das Objekt TAutoIntfObject verwendet habe.

Wenn ich nun die Applikation starte und anschliessend den Prozess, der auf die Active-X Schnittstelle zugreift, wird das TAutoObject erzeugt. Vom TAutoObject wird anschliessend auch automatisch die Collection erzeugt und die zu exportierenden Werte eingefüllt, soweit OK.
Wenn ich vom externen Prozess aber auf die Collection zugreife, kann ich zwar die Werte auslesen. Nach dem Ende des Auslesens wird aber das TAutoIntfObject der Collection zerstört. Bei einem weiteren Zuggriff erhalte ich eine Exception.

Wie kann ich das machen, dass die Collection nach dem externen Zugriff nicht zerstört wird. Muss ich ein anderes Objekt verwenden?

Eine Zusatzfrage:
Mit dem TAutoObject wird die Applikation automatisch gestartet, falls von Extern ein Zugriff auf die Active-X Schnittstelle erfolgt. Ich möchte das aber so haben, dass ich die Applikation manuell starten muss und erst dann der Zugriff auf die Daten über Active-X möglich sind. Wie muss ich das machen? Muss ich ein anderes Objekt als TAutoObject verwenden? welches?

Danke für Eure Hilfe
Tom
  Mit Zitat antworten Zitat