Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stapelverarbeitung (https://www.delphipraxis.net/10660-stapelverarbeitung.html)

Hansa 22. Okt 2003 22:51


Stapelverarbeitung
 
Hi,

wie könnte man folgendes realisieren: 20 Programme müssen nacheinander durchlaufen, ohne unterbrochen zu werden. Also nichts mit Buttonclick etc. Das ganze kann stundenlang laufen. Nur im Fehlerfall sollte das Programm schon eine Meldung bringen. Bzw. wäre es noch besser, einen Logfile zu bearbeiten um nachzusehen, ob bei einem der Programme ein Fehler auftrat. Betrifft dies nur eines der Programme, sollen die nachfolgenden nicht warten müssen.

Christian Seehase 22. Okt 2003 22:55

Re: Stapelverarbeitung
 
Moin Hansa,

sind das jetzt bereits existierende Programme, oder sollen die noch erstellt werden?
Haben die dann eine GUI oder sind es Konsolenprogramme.
Wird ein ReturnCode vom jedem der Programme geliefert, der über Erfolg/Misserfolg des Laufes Aufschluss gibt?

Hansa 22. Okt 2003 23:10

Re: Stapelverarbeitung
 
Zitat:

Zitat von Christian Seehase
...Wird ein ReturnCode von jedem der Programme geliefert, der über Erfolg/Misserfolg des Laufes Aufschluss gibt?

Darum gehts ja. Der Start soll nicht durch ein Ereignis gesteuert werden, sondern das ganze soll laufen bis es fertig ist. Falls es gekracht hat, will ich das aber wissen und dann kann dieses Programm, bei dem das passiert ist, nach Fehlerbeseitigung eben nochmals laufen. Falls das 2. Programm einen Fehler verursacht, so sollen die restlichen 18 trotzdem noch laufen.

Es geht um das Einfügen von Daten aus einer Textdatei in eine IB-DB. Und das ganze ist eine letzte Beta-Version, die jetzt mit echten Daten laufen soll. Hierbei sínd noch Fehlerchen aufgetaucht, die beseitigt werden müßen.

Alexander 23. Okt 2003 06:55

Re: Stapelverarbeitung
 
Vielleicht nützt dir WaitForSingleObject was? Nur so eine Idee.

Christian Seehase 23. Okt 2003 12:20

Re: Stapelverarbeitung
 
Moin Hansa,

Zitat:

Zitat von Hansa
Der Start soll nicht durch ein Ereignis gesteuert werden, ...

schon klar, aber mit Hilfe der ReturnCodes könntest Du das Schreiben einer Logdatei steuern, z.b. auch in einer BAT/CMD.

Hansa 23. Okt 2003 18:36

Re: Stapelverarbeitung
 
Hab mirs überlegt. Ich haue die Dinger wirklich einfach in eine Batch-Datei rein. Ganz am Anfang schreibe ich in eine Logdatei 'Program '+Paramstr (0)+' gestartet' und ganz am Ende, daß das Programm beendet ist. Fehlt das später, so weiß ich, daß etwas schief gelaufen ist und kann der Sache nachgehen.

Allerdings bleibt noch eine Frage offen: das Programm soll ja nicht anhalten. Nach der Exception müßte das nächste einfach starten. Es geht um Stunden. Und ich will nicht so lange einfach rumsitzen, um eine Exception zu bestätigen. Einen Try-Except Block wollte ich mir eigentlich sparen.

Christian Seehase 23. Okt 2003 19:25

Re: Stapelverarbeitung
 
Moin Hansa,

dann könntest Du parallel noch ein Programm laufen lassen, dass auf Exception Fenster wartet, und den Button anklickt.
So ein Fenster sollte die Klasse #32770 haben, und wenn sonst nichts läuft auch das einzige sichtbare seiner Klasse sein.

Allerdings kann es gefährlich sein das so zu machen. Wer weiss, was für Dialoge man da eventuell mit OK bestätigt ;-)

Hansa 23. Okt 2003 19:56

Re: Stapelverarbeitung
 
Zitat:

Zitat von Christian Seehase
...Allerdings kann es gefährlich sein das so zu machen. Wer weiss, was für Dialoge man da eventuell mit OK bestätigt ;-)

Es sind Daten aus einem älteren Datenbestand, sonst nichts. Aber Du hast trotzdem Recht. Ich bastel mir doch einen try..except..finally Block um die wichtige Stelle drumrum. Wer weiß ? Damit dürfte ich dann auch den Bestätigungsbutton wegkriegen und hätte eine genaue Fehlermeldung. try..finally ? Wie war das noch ? :gruebel: Lange nicht mehr richtig benutzt. Ist halt noch Version -1.0 alpha. :mrgreen: Egal, habe das schnell nachgelesen.

Christian Seehase 23. Okt 2003 19:59

Re: Stapelverarbeitung
 
Moin Hansa,

dann nimm doch einfach das ApplicationEvents Objekt und trag' da was ins OnException Event ein.
Dann sollte das Anwenundungsglobal gehen.
(Benutzt hab' ich das noch nicht ;-) )

Hansa 23. Okt 2003 20:19

Re: Stapelverarbeitung
 
Genau so werde ich das machen. Trotzdem sind es mittlerweile 27 Programme. Da muß ich jetzt überall das reinsetzen. :cry: Oder könnte ich da irgendeine Unit dazu verwenden ? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz