Hallo,
in einem Com-Client erzeuge ich mittels folgender Anweisung eine Server-Instanz, falls der Server noch nicht laueft:
<PRE>
(* Interface - MSGServer-Objekt erzeugen und/oder verbinden *)
GetActiveObject(CLASS_MsgServer, nil, aSrv);
if Assigned(aSrv) then<br>
begin<br>
ConnectMsgServer := aSrv as IMsgServer;
IF DebugMod then
ShowMessage('Connect mit laufender Instanz')
end
else
begin
ConnectMsgServer :=CoMsgServer.Create;//Create; //Remote(IpList[i]);
IF DebugMod then
ShowMessage('Connect mit neuer Instanz')
end;
</PRE>
<p>
ConnectMsgServer ist eine Privte-Instanz, die auf jeden Fall nach dem schliessen des Clients freigegeben wird.
Der Client ist z.Zt. auch der einzigste der auf diesen Server zugreift.
Der Start und die Schnittstellen funktionieren auch einwandfrei. Da der Server ein kleines angehängtest Formular enthält und der ausgeben wird, was er so alles macht, kann man auch beobachgten, dass zumindest dieses Formular zu macht, sobald der Client beendet wird.
Leider verschwindet der Task nicht aus der Taskleiste.
Wird der Client neu gestartet wird einfach ein neuer Task aufgemacht in dieser nun als Server-Instanz registriert.
</p>
Warum wird der Task nicht beendet? <br>
Laesst sich dies programmtechnisch beheben, und wenn ja wo? Serverseitig oder Clientseitig? <br>
Oder handelt es sich um ein Rechte-Problem? <br>
Ich verwende Delphi6 Prof Updpack 2
Gruss Frank
in einem Com-Client erzeuge ich mittels folgender Anweisung eine Server-Instanz, falls der Server noch nicht laueft:
<PRE>
(* Interface - MSGServer-Objekt erzeugen und/oder verbinden *)
GetActiveObject(CLASS_MsgServer, nil, aSrv);
if Assigned(aSrv) then<br>
begin<br>
ConnectMsgServer := aSrv as IMsgServer;
IF DebugMod then
ShowMessage('Connect mit laufender Instanz')
end
else
begin
ConnectMsgServer :=CoMsgServer.Create;//Create; //Remote(IpList[i]);
IF DebugMod then
ShowMessage('Connect mit neuer Instanz')
end;
</PRE>
<p>
ConnectMsgServer ist eine Privte-Instanz, die auf jeden Fall nach dem schliessen des Clients freigegeben wird.
Der Client ist z.Zt. auch der einzigste der auf diesen Server zugreift.
Der Start und die Schnittstellen funktionieren auch einwandfrei. Da der Server ein kleines angehängtest Formular enthält und der ausgeben wird, was er so alles macht, kann man auch beobachgten, dass zumindest dieses Formular zu macht, sobald der Client beendet wird.
Leider verschwindet der Task nicht aus der Taskleiste.
Wird der Client neu gestartet wird einfach ein neuer Task aufgemacht in dieser nun als Server-Instanz registriert.
</p>
Warum wird der Task nicht beendet? <br>
Laesst sich dies programmtechnisch beheben, und wenn ja wo? Serverseitig oder Clientseitig? <br>
Oder handelt es sich um ein Rechte-Problem? <br>
Ich verwende Delphi6 Prof Updpack 2
Gruss Frank
Comment