Autor Beitrag
eisdealer
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 18.10.04 09:18 
Hallo,

ich habe ein Programm geschrieben, welches Nachts über einen Zeitraum von 2 Studnen laufen soll, und dabei Datensätze aus einer Datenbank verarbeitet.

Mein Problem ist, das das Programm mit einem Dokumenten Management System kommuniziert, um Dateien aus dem System zu holen.
Temporär tritt dort der Fehler auf, das die Funktion zum holen des Dokumentes sich einfachmal für unbestimmte Zeit "weghängt" und nichts macht.
Teilweise bekomme ich dann so nach 2 Studen die Nachricht, das die Datei nicht geholt werden konnte.
Was ich machen will, ist eine Prüfung, wie lange das Programm inaktiv ist, und auf Rückmeldung der Funktion wartet. Wenn länger als eine Minute soll das Programm beendet werden, weil es dann wieder automatisch gestartet wird...
Gibt es eine möglichkeit die zeit zwischen 2 funktionsaufrufen zu messen, und das Programm gegebenenfalls zu beenden?

Thx 4 help
eisdealer Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 18.10.04 09:22 
Mhh mist war wohl etwas unglücklich ausgedrückt...

Das Problem ist, das ich einen Funktionsaufruf mache, und der dann 2 Stunden lang keine Rückmeldung gibt...

Also wenn ich den Funktionsaufruf mache, und der nach z.B. einer Minute noch nicht fertig ist, soll das Prgramm beendet werden.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 18.10.04 09:25 
Ja.
Merke dir über die Funktion "now" den Startzeitpunkt in einer Variablen. Beim zweiten Aufruf vergleichst du den gemerkten Wert mit dem neuen "now". Ich würde die Differenz bilden. Das Ergebnis ist dann die vergangene Zeit in Millisekunden (meine ich zumindest).
Wars das, was du wissen wolltest?
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 18.10.04 09:29 
Hmm. Da war ich wohl zu langsam beim Tippen.
Das geht aber auch.
Ich würde den Funktionsaufruf in einem Thread starten. Mit "now" entsprechend die Zeiten merken. Falls es zu lange dauert, den Thread abbrechen.
Wie das mit Threads genau funktioniert, kannst du in den Beispielen von Delphi ansehen.
Pille
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 105

Windows 7
DelphiXE Prof.
BeitragVerfasst: Mo 18.10.04 10:04 
Der Thread hier läuft in 2 Foren parallel.

Pille