Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mehrere Kopien eines Threads? (https://www.delphipraxis.net/27193-mehrere-kopien-eines-threads.html)

romber 5. Aug 2004 16:57


Mehrere Kopien eines Threads?
 
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!

Luckie 5. Aug 2004 17:00

Re: Mehrere Kopien eines Threads?
 
Musst du denn noch auf Eigenschaften des Threads-Objektens zugreifen, wenn er läuft? Brauchst du das Handle oder sonst was, um ihn zum Beispiel suspendieren zu können oder? Wenn nicht, dann ist das Array überflüssig.

romber 5. Aug 2004 17:08

Re: Mehrere Kopien eines Threads?
 
He-he! Was Threads angeht, ist Luckie sofort da! Super! Danke! :-D

Das Ziel des Threads ist, eine Webseite aufzurufen und Quelltext auf bestimmte Information durchzusuchen. Dabei wenn die bestimmte Information gefunden wurde, eine andere Thread-eigene Procedure aufzurufen. Alle Thread-Aktivitäten werden in dem beim Erstellen des Threads zugewiesenen TListItem dem User sichtbar gemacht. Wenn der ListItem gelöscht wird, terminiert der Thread. Das war's.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz