AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi CPU Fresser beim Warten auf ein Flag - Lösung ?
Thema durchsuchen
Ansicht
Themen-Optionen

CPU Fresser beim Warten auf ein Flag - Lösung ?

Ein Thema von moelski · begonnen am 21. Dez 2006 · letzter Beitrag vom 22. Dez 2006
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Re: CPU Fresser beim Warten auf ein Flag - Lösung ?

  Alt 21. Dez 2006, 22:52
Warum übergibst du denn um Gottes Willen einen Boolean Zeiger? Und warum übergibst du deiner Prozedur das ChekcBox Objekt? Was soll die damit anfangen? Bitte mal etwas selber nachdenken. Flag muss ausserdem global sein, wie willst du es sonst setzen, wenn er in der Schleife ist?

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CheckBox1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    Flag: Boolean;
    procedure WaitForFlag(TimeOutSeconds: DWORD = 10);
  public
    { Public-Deklarationen }
  end;

var
  Form1 : TForm1;

implementation

{$R *.dfm}

procedure TForm1.WaitForFlag(TimeOutSeconds: DWORD = 10);
var
  EndTime : DWORD;
begin
  Flag := True;
  EndTime := GetTickCount + TimeOutSeconds * 1000;

  while (Flag = True) and (GetTickCount < EndTime) do
  begin
    Sleep(1);
    Application.ProcessMessages;
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Flag := True;
  WaitForFlag;
  Label1.Caption := 'Done ...';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Flag := False;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Flag := not CheckBox1.Checked;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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