wenn port belegt, Batch ausführen

P_H_I_L

Erfahrenes Mitglied
Hallo Zusammen,
habe unten einmal ein Thread geöffnet hierfür! doch der ist lang und schreckt ab :-)
kann geschlossen werden.
habe nun angefangen mit einer TClientSocket.
wenn ich den applikation Server starte (dauert 15-35 sek) soll immer wieder durch eine schleife geprüft werden ob port belegt ist. Wenn ja, dann ist applikationServer gestartet. dies ist immr der Port 8090!
nun wenn der port belegt ist soll ein BatchFiles aufgerufen werden.

bisher habe ich es so:

//Prüfen ob JBOSS gestartet ist
serverstarted := false;

ClientSocket1.Host := 'localhost';
ClientSocket1.Port := 8090;
ClientSocket1.Open;


while serverstarted = false do begin

try
ClientSocket1.Active := True;
//ClientSocket1.Open;
// ClientSocket1.Socket.Connect(8090);

serverstarted := true;
except

sleep(1000);
end;

if serverstarted = true then begin
SetCurrentDir(dir);
ShellExecute(Handle, 'open', tmpPcharBrowser, nil, nil, SW_SHOWNORMAL);
Application.Terminate;

end;

in meiner Schleife soll er immer wieder in die Exception laufen wenn ClientSocket1.active nicht true ist.
doch irgendwie läuft er immer über dieses Statement und springt nicht in die Exception.
Mache ich hier etwas grundlegendes falsch?

Gruß.
Philipp:)
 
Zurück