Thema: Delphi Threads Parameter

Einzelnen Beitrag anzeigen

rtky_trunks

Registriert seit: 5. Mai 2005
Ort: Breisach am Rhein
16 Beiträge
 
Delphi 7 Enterprise
 
#1

Threads Parameter

  Alt 24. Sep 2006, 20:30
Hallo,

ich habe ein Problem mit BeginThread(), vielleicht kannt mir jemand helfen.

Nun, ich starte ein Thread mit BeginThread(), zu veranschaulichung ein stückchen Code:
Delphi-Quellcode:
TParamRecord = record
    Nr : Integer;
  end;

//[.....]
procedure TForm1.Button1Click(Sender: TObject);
var
  id : LongWord;
  Params: TParamRecord;
begin
 for I := 1 to 50 do begin
  Params.Nr = I;
  BeginThread(nil,
              0,
              Addr(StarThread),
              Addr(Params),
              0,
              id);
  end;
end;
Die Funktion für die Threads sieht folgendermaßen aus:
Delphi-Quellcode:
function StarThread(Paramter: Pointer): Integer;
var
  Params : ^TParamRecord;
begin
 Params := Paramter;
 Form1.Memo1.Lines.add('Angekommen mit '+IntToStr(Params.Nr));
end;
Nun gut, dass Problem ist, dass der Wert Params.Nr in dem Thread immer eine ganz komische Zahl ist.
Wenn ich die Threads nacheinander starte, dann kommen die Parameter richtig an.
Eine Beispiel Ausgabe in dem Memo wäre:
Zitat:
Angekommen mit 2010210153
An was könnte das liegen? Danke für jede Hilfe.

Gruss,
MArc
Matrix is a Puffer like a Net-Port
  Mit Zitat antworten Zitat