AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eigene Anwendung per COM fernsteuern - Wie vorgehen?
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Anwendung per COM fernsteuern - Wie vorgehen?

Ein Thema von Ares · begonnen am 28. Sep 2011 · letzter Beitrag vom 29. Sep 2011
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Eigene Anwendung per COM fernsteuern - Wie vorgehen?

  Alt 28. Sep 2011, 20:42
Wie vorher habe ich für den Server ein Automatisierungsobjekt erstellt. Hierbei ist wichtig, dass die Instantiierungs-Methode auf "Mehrere Instanzen" eingestellt wird.
Ist doch klar: "Mehrere Instanzen" heißt das auf eine laufende Serverinstanz mehrer Clients sich verbinden können. Entspricht ciMultiInstance

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?
Stichwort währen hier COM+ bzw. COM in einem NT-Dienst. Ist jedoch nicht so einfach mit Bordmitteln und man verwendet am besten das hier: http://www.aldyn-software.com/svcom.html

Das das COM-Objekt gelöscht wird sobald der Referenzzähler Null erreicht ist logisch, aber warum wird direkt das ganze Programm mit beendet?
As Designed. Es lief ja davor auch nicht. Wenn jemand Excel fernsteuert willst du ja auch nicht das Excel stehen bleibt.

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?
Eigenheit von Delphi (und fürs Debuggen ganz schön) das man sich mit einer laufenden Exe einmal verbinden kann. Diese sozusagend eine Einmal-COM-Interface anbietet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz