Thema: Delphi Thread synchronize

Einzelnen Beitrag anzeigen

max2621

Registriert seit: 26. Dez 2007
Ort: Molfsee
25 Beiträge
 
#1

Thread synchronize

  Alt 3. Mai 2008, 10:57
Hallo,

ich habe ein Problem mit dem Zugriff auf die Main Unit aus einem Thread. Soweit ich verstanden habe, kann ich auf visuelle Komponenten nur über synchronize zugreifen. Leider gelingt es mir aber nicht auf ein Label in der Main unit zuzugreifen.

Mein Versuchscode ( nur der Thread) lautet folgendermaßen:

Delphi-Quellcode:

unit meinthread;

interface

uses
  Classes, sysutils, windows;

type
  test = class(TThread)
  private
    { Private-Deklarationen }
    j: integer;
  protected
    procedure Execute; override;
    procedure getresult;
  public
    constructor create; virtual;
  end;
implementation

procedure test.GetResult;
begin
Form1.label1:='Test';
end;

procedure test.Execute;
begin
{ Thread-Code hier einfügen }
sleep(1000);
windows.beep(2000,50);
Synchronize(Getresult);

end;

constructor test.create;
begin
inherited create(true); // CreateSuspended = true
freeOnTerminate := true;
end;

end.

Die Procedure Test.Result findet den label1 auf Form1 nicht.

Was mache ich falsch?

Euer Max2621
  Mit Zitat antworten Zitat