![]() |
ein Thread der alle 60 sekunden ein Label aktualisiert....
Hallo,
wie sieht ein Thread aus, der alle 60 sekunden ein bestimmtes Label oder eine Form aktualisiert (repaint). Gruß |
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
dazu solltest du wohl besser einen timer mit intervall 60000 verwenden!
|
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Schick ihn für 60 Sekunden schlafen mit Sleep.
|
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Und wenn in der Zwischenzeit mit dem Programm noch gearbeitet werden (können?) soll?
Da wäre ein Timer bzw. ein Thread doch wahrscheinlich besser als sleep. |
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Ich denke Luckie meint den Thread und nicht das Progamm ;-)
|
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Bin totaler Thread-Anfänger und habe da ein Problem:
Die beiden Threadklassen:
Code:
Auf Knopfdruck werden beide Threads durchgeführt:
type TStartThread = class(TThread)
private protected procedure Execute;override; end; type TwaitThread = class(TThread) private protected procedure Execute;override; end;
Code:
die Execute Prozeduren sehen so aus:
starten:= TStartThread.Create(true);
with starten do begin Execute; resume; end; warten:=TWaitThread.Create(true); with warten do begin Execute; resume; end;
Code:
Jetzt habe ich das Problem, dass die Form (frmwait) nicht alle 6 Sekunden neu gezeichnet wird.
procedure TwaitThread.Execute;
begin sleep(6000); frmwait.Repaint; end; procedure TStartThread.Execute; begin berechne; end; Was müsste ich noch machen, damit wirklich alle 6 sekunden ein repaint gemacht wird, während die Berechnung der prozedur "berechne" läuft? Es wird in beiden Threads auf VCL-Komponenten zugegriffen. |
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Zitat:
@ |
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Kann mir denn niemand helfen?
|
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Ich habe mich gerade mit einem Thread herumgeschlagen, aber der war nonVCL.
|
Re: ein Thread der alle 60 sekunden ein Label aktualisiert..
Wenn du warten willst, und trotzdem weiterarbeiten musst, dann nimm das hier:
Delphi-Quellcode:
procedure Wait(time:word);
var start: integer; begin start := GetTickCount; while GetTickCount - start <= time do Application.ProcessMessages; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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