![]() |
Programm quittiert den Dienst bei nem sleep?
Hallo,
an einer etwas ungewöhnlichen Stelle hört mein Programm einfach auf zu arbeiten:
Delphi-Quellcode:
Er steigt da nicht immer aus, nur ab und zu, manchmal läuft das da auch durch.
try
for i := 0 to 19 do begin snlogger.Log('a'+IntToStr(i)); Application.ProcessMessages; snlogger.Log('b'+IntToStr(i)); sleep(500);//Ab hier passiert nichtsmehr snlogger.Log('c'+IntToStr(i)); Application.ProcessMessages; snlogger.Log('d'+IntToStr(i)); SNTCPClient1.Write(C_PING); snlogger.Log('e'+IntToStr(i)); end; finally snlogger.log('finally'); end; Das finally wird nicht ausgeführt, es passiert einfach garnichtsmehr. Das Programm kommuniziert mit einem Dienst. Der Dienst meldet nichts, bis auf das die Verbindung weg ist. Wenn ich mitm TCP Viewer schaue sind die tatsächlich weg. Es kommt keine Fehlermeldung und garnichts... Das seltsame ist, das Programm beendet sich nicht, sondern ist nachwievor als Task aktiv. Hat jemand en Tipp wie ich mich dem Problem nähern könnte? :gruebel: |
Re: Programm quittiert den Dienst bei nem sleep?
Hallo,
ein Tip von mir: lass mal die Application.ProcessMessages weg. blauweiss |
Re: Programm quittiert den Dienst bei nem sleep?
Die hab ich erst reingemacht als das Problem auftrat, aber kann sie gern wieder rausmachen
|
Re: Programm quittiert den Dienst bei nem sleep?
Wofür brauchst du den Sleep-Befehl eigentlich?
|
Re: Programm quittiert den Dienst bei nem sleep?
Das ist ein Simulationsprogramm, das soll einfach ne weile warten und ausser dem Gegenüber alle 500ms eine Nachricht zu senden nichts tun und sich dann beenden.
|
Re: Programm quittiert den Dienst bei nem sleep?
Und warum nimmst du dazu keinen Timer? Der ist doch gerade prädestiniert für eine solche Aufgabe.
|
Re: Programm quittiert den Dienst bei nem sleep?
Dann muss ich an der Stelle trotzdem
-Timer anschalten -warten -Timer ausschalten sprich, warten muss ich so oder so. Aber ich werd das mit Timer mal ausprobieren, ma schaun was rauskommt. |
Re: Programm quittiert den Dienst bei nem sleep?
Zitat:
|
Re: Programm quittiert den Dienst bei nem sleep?
Ja aber wie gesagt es ist eine Simulation, tatsächlich wird der Timer nebenher laufen und im Hauptprogramm oder nem separaten Thread wird was abgearbeitet.
Wenn das fertig abgearbeitet ist wird der Timer angehalten und ne Nachricht zum Gegenüber gesendet dass das Programm fertig ist. |
Re: Programm quittiert den Dienst bei nem sleep?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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-2025 by Thomas Breitkreuz