Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
Delphi 5 Professional
|
Re: Threads
15. Nov 2004, 23:09
Zitat von glkgereon:
in der hauptanwendung ein label, im thread wir einfach nur eine variable hochgezählt und der hauptthread gibt vor wie groß das delay dazwischen ist
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
type
TMyThread = class(TThread)
private
FLabel: TLabel;
FCounter: Integer;
FDelay: Integer;
procedure UpdateVCL;
protected
procedure Execute; override;
public
constructor Create(ALabel: TLabel);
property Delay: Integer read FDelay write FDelay;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
constructor TMyThread.Create(ALabel: TLabel);
begin
inherited Create(True);
FCounter := 0;
FLabel := ALabel;
end;
procedure TMyThread.Execute;
begin
while ( not Self.Terminated) do
begin
Inc(FCounter);
Synchronize(UpdateVCL);
Sleep(FDelay);
end;
end;
procedure TMyThread.UpdateVCL;
begin
FLabel.Caption := IntToStr(FCounter);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyThread.Create(Label1) do
begin
Delay := 1000;
Resume;
end;
end;
end.
Ciao, Sprint.
"I don't know what I am doing, but I am sure I am having fun!"
|
|
Zitat
|