Hallo Delphifreunde!
Zur Zeit beschäftige ich mich damit, einem
VCL-gestarteten Thread Parameter zu übergeben. Dabei möchte ich endlich von den globalen Variablen wegkommen.
Luckies Tutorial kenne ich natürlich fast in- und auswendig, aber dort wird dieses Thema allgemein behandelt, nicht auf
VCL-gestartete Threads bezogen (sofern ich nicht doch etwas übersah). Auch meine Suche in diesem Forum brachte mich erstmal nicht weiter.
Also, ich dachte es mir so:
Delphi-Quellcode:
type
TestThread=class(TThread)
private
l, r: word;
id: THandle;
asc: boolean;
protected
procedure Execute; override;
public
constructor Create(CreateSuspended, asc_input: Boolean; links, rechts: word; inputID: THandle);//kein override möglich, da statisch
end;
constructor TestThread.Create(CreateSuspended, asc_input: Boolean; links, rechts: word; inputID: THandle);
begin
inherited create(CreateSuspended);
l := links;
r := rechts;
ID := inputID;
asc := asc_input
end;
//...und weitere Threadsfunktionalität, z.B. die Execute-Methode
Das wird klaglos übersetzt und ergibt auch zur Laufzeit keine wahrnehmbaren Programmfehler, dennoch entspricht das Ergebnis nicht meiner Vorstellung. Deshalb kam mir der Verdacht der ungeeigneten Parameterübergabe. Ist es also möglich, auf diese Weise zusätzliche Parameter (also außer dem CreateSuspended) in den Thread einzuschleusen?