Genauso hab ich es gemacht.
Ich speichere die self-Pointer in der initialize-Methode in einer Interfaceliste. Das funktioniert soweit ok. Ich kann dadurch auch Methoden übers Interface auslösen und alle Clients benachrichtigen.
Nur bei der Freigabe gibts ein Problem. Wenn ich den self-Pointer in der Interfaceliste speichere wird der Referenz-Counter erhöht. Die Destroy-Routine (welche den Pointer in der Interfaceliste wieder freigibt) wird deshalb beim Beenden eines Clients nicht aufgerufen.
Das muss ich irgendwie anders lösen aber wie?
Tom
Zitat von
Bernhard Geyer:
Das Schlagwort für Events vom Server zum Client ist
die . Hierzu wird eine weitere (Event-)Schnitttelle definiert, welche jetzt vom Client implementiert wird um vom Server aufgerufen wird.
Dazu holst Du dir auf jedenfall mal das
EventSinkImp-Tool von Binh Ly und am besten auch gleich das Buch von A Kosch über
COM/DCOM/COM+ um auch die Probleme z.B. bezüglich Rechtevergabe zu verstehen.