Hallo !
Ich bin gerade dabei mich in die COM-Schnittstelle des Phoners zu verlieben
Allerdings habe ich ein (aus meinen Augen) recht triviales Problem mit der Verbindung zum COM-Server.
Ich möchte gerne NUR zu einer gerade laufenden Instanz verbinden, auf keinen Fall eine neue Instanz starten.
Ist gerade keine Instanz aktiv, dann soll eine Exception oder ähnliches geworfen werden.
Rein theoretisch hätte ich das jetzt so verstanden, dass ich bei ConnectKind ein 'ckRunningInstance' eintrage und genau dieses Verhalten bekomme. Allerdings findet er in diesem Modus eine per Hand gestartete Phoner-Instanz nie
Der einzige Weg zu einer vorher gestarteten Instanz zu verbinden, ist als ConnectKind ein 'ckRemote' und als RemoteMachineName 'localhost' einzutragen. Damit klappt es problemlos.
Allerdings gibt es dann wieder das Problem, dass er automatisch eine Instanz startet, wenn noch keine Phoner.exe am laufen ist.
*grmpf*
Leider bin ich nicht so bewandert in COM/OLE unter Delphi um mir da selbst aus der Patsche zu helfen.
Hat evtl. jemand einen Tipp für mich wie ich das gewünschte Verhalten hinbekommen kann ?
Vielen Dank schon mal !
LG, Gerald
EDIT:
Man sollte keine Nachrichten posten, während die Frau zum Essen ruft
Hier noch die Fehlermeldung, die mir bei der 'ckRunningInstance'-Variante ausgegeben wird:
Es kann kein Zeiger für ein ausgeführtes Objekt geholt werden, das mit OLE für Phoner.CPhoner/{...} registriert ist.
Hört sich für mich so an, als würde Phoner sich bei einem 'normalen Start' nicht als Server registrieren ?
Was mich dann aber wieder wundert, ist die Tatsache, dass es bei einem 'ckRemote' funktioniert.
Umgebung ist Windows Vista und Delphi 2007.