Entwickler-Ecke

Sonstiges (Delphi) - Programm soll immer Dateien bearbeiten jedoch Bedienbar


Biarchiv - Mi 23.06.04 11:05
Titel: Programm soll immer Dateien bearbeiten jedoch Bedienbar
Hallo,

ich will das mein Programm immer die Größe von Dateien überprüft.
Der Code geht. Habe ihn mal unter Button.OnClick eingeordnet.

Nun will ich aber das das Programm bei aktivieren einer CheckBox dauernt alle
10 Sekunden prüft. Sprich: sleep(10000); und Resident arbeitet.

Aber das Programm ist nicht Ansteuerbar wenn ich es unter Form1.OnCreate oder .OnActivate gebe.

Wo muss ich den Code hingeben damit das Programm Ansteuerbar bleibt und die Schleife bei einer
bestimmten CheckBox=true immer arbeitet und sich ausschalten läßt.


iGoA - Mi 23.06.04 11:09

Rufe Deine Überprüfungsroutinge nicht in einer Dauerschleife auf, sondern mit einem Timer.
Timers auf Form ziehen. Millisekunden einstellen. Enabled auf true. In der Ereignisbehandlung OnTimer dann Deine Routine aufrufen.


Delete - Mi 23.06.04 11:11

Sleep legt den aufrufenden Thread komplett lahm. Nimm entweder Suche in: Delphi-Forum, Delphi-Library DELAY oder lager das ganze in einen Thread aus, was ich persönlich besser finden würde. Polling-Aufgaben gehören nicht in den Hauptthread einer Anwendung. Ein Threading Tutorial findest du hier: http://tutorials.luckie-online.de