Hallo!
Ich habe einen Thread, deren Create-Procedure überschrieben und durch zusätzliche Parameter ergänzt wird.
Code:
...
type
TGetThread = class (TThread)
constructor create(CreateSuspended: boolean; ListViewItem2: TListItem);
private
{ Private declarations }
http: TIdHTTP;
ListViewItem: TListItem;
CrS: TCriticalSection;
protected
procedure Execute; override;
end;
...
constructor TGetThread.create(CreateSuspended: boolean; ListViewItem2: TListItem);
begin
inherited create(CreateSuspended);
ListViewItem := ListViewItem2;
end;
...
Dann werden irgendwo im Programm mehrere Kopien dieses Threads erstellt, die meist gleichzeitig laufen. Meine Frage ist: muss ich unbedingt einen Threads-Array erstellen und dann jedesmal, wenn einen neuen Thread erstellt werden muss, so vorgehen
Code:
var
TGetThreadCopy: array[1..10] of TThread;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
TGetThreadCopy[1] := TGetThread.Create(false, ListView1.Items.Item[0])
end;
...
oder kann ich einfach den Thread erneut erstellen, wenn ich es brauche, etwa so:
Code:
...
procedure TForm1.Button1Click(Sender: TObject);
var
Thread: TThread;
begin
Thread := TGetThread.create(false, ListView1.Items.Item[0]);
end;
...
Wie ist es besser? Ich habe beide Methoden ausprobiert, die funktionieren beide. Ich möchte nur sicher gehen, das ich nichts falsches mache.
Danke!