Hi. Also ich habs jetzt iwie mal bischen mit rumexperimentieren versucht und folgendes Phaenomen:
Mein Code sieht nun wiefolgt aus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| try
IdTCPClient1.Connect; except on E: EIdConnectTimeout do begin end;
else end; if idtcpclient1.connected = true then
begin
form1.image17.visible := true;
form1.image18.visible := false;
timer3.enabled := true;
label1.Caption := 'Hole Daten...';
end
else
begin
form6.label1.caption := 'Verbindung fehlgeschlagen...';
form1.image17.visible := false;
form1.image18.visible := true;
timer1.enabled := true;
end;
idtcpclient1.Disconnect; |
Wenn ich das via Delphi-Start-Button aufrufe funktioniert es. Ich habe testweise das ConnectionTimeout auf 1 gesetzt (also 1 Millisekunde) und er bricht dann mit einer Exception Delphi-Intern ab, zeigt aber keinen Fehler (das was ich will) sondern eben das Ereigniss wenn idtcpclient1.connected false ist. Wenn ich das Timeout auf den Finalen Wert setze (also 5 Sekunden) dann wird alles erfolgreich ausgefuehrt.
Wenn ich das Projekt aber jetzt kompiliere und baue und dann die .exe Datei aufrufe, ist es auch mit 1 Millisekunden Timeout IMMER auf Connected (also es kommt nie zu dem Fall des Timeouts). Das versteh ich irgendwie beim besten Willen nicht
