Einzelnen Beitrag anzeigen

Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#6

AW: Eigene Anwendung per COM fernsteuern - Wie vorgehen?

  Alt 28. Sep 2011, 20:35
Ich weiß zwar nicht genau was ich nun anders gemacht habe, aber jetzt funktioniert es

Wie vorher habe ich für den Server ein Automatisierungsobjekt erstellt. Hierbei ist wichtig, dass die Instantiierungs-Methode auf "Mehrere Instanzen" eingestellt wird.


Nun habe ich aber ein neues Problem:
Läuft der Server noch nicht wenn der Client diesen aufruft wird er automatisch gestartet. Soweit so gut. Allerdings wird der Server auch wieder automatisch beendet wenn der Client beendet wird bzw. dieser seine Referenz auf den Server löscht. Das ist nicht gewollt, wenn der Server durch die Nachricht vom Client mit der Abarbeitung einer Aufgabe beginnt (z.B. FTP Upload). In diesem Fall soll der Server natürlich weiterlaufen.

Wie kann ich diese lösen?

Das das COM-Objekt gelöscht wird sobald der Referenzzähler Null erreicht ist logisch, aber warum wird direkt das ganze Programm mit beendet?

Lief der Server schon vor dem Aufruf durch den Client tritt das Problem nicht auf: Der Server läuft auch nach dem Beenden des Clients weiter. Dies verstehe ich dann auch nicht, denn der Server selbst erstellt keine Referenz auf das COM-Objekt. Dieses erreicht also genau wie im ersten Fall einen Renferenzcount von Null sobald der Client beendet wird. Warum wird der Server einmal beendet und einmal nicht?

Kann der Server das Signal zum Beenden im ersten Fall (Server durch Client gestartet) irgendwie abfangen und prüfen ob er noch zu arbeiten hat oder nicht?
  Mit Zitat antworten Zitat