Einzelnen Beitrag anzeigen

ak1

Registriert seit: 12. Okt 2003
243 Beiträge
 
#6

Re: ein Thread der alle 60 sekunden ein Label aktualisiert..

  Alt 1. Jun 2004, 15:41
Bin totaler Thread-Anfänger und habe da ein Problem:

Die beiden Threadklassen:

Code:
type TStartThread = class(TThread)
  private
  protected
    procedure Execute;override;
  end;

  type TwaitThread = class(TThread)
  private
  protected
    procedure Execute;override;
  end;
Auf Knopfdruck werden beide Threads durchgeführt:
Code:
starten:= TStartThread.Create(true);

      with starten do begin
        Execute;
        resume;
      end;

      warten:=TWaitThread.Create(true);
      with warten do begin
        Execute;
        resume;
      end;
die Execute Prozeduren sehen so aus:

Code:
procedure TwaitThread.Execute;
begin
      sleep(6000);
      frmwait.Repaint;
end;

procedure TStartThread.Execute;
begin
  berechne;
end;
Jetzt habe ich das Problem, dass die Form (frmwait) nicht alle 6 Sekunden neu gezeichnet wird.
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.
  Mit Zitat antworten Zitat