Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mal wieder Threads.... (https://www.delphipraxis.net/146920-mal-wieder-threads.html)

DelTurbo 29. Jan 2010 16:08

Re: Mal wieder Threads....
 
@sirius: Der Pointer den ich da übergebe zeigt ins array auf die nummer die für den thread zuständig ist. Da dürfte wohl nix passieren.

sirius 29. Jan 2010 16:14

Re: Mal wieder Threads....
 
Da steht aber nur index. Und wo ist die Variable index deklariert?

DelTurbo 29. Jan 2010 16:21

Re: Mal wieder Threads....
 
Das ist doch nur ein beispiel. Das ist nichtmal meine orginal Source. Das habe ich eben hier im post getippert um zu veranschaulichen was ich meine.

Hier der orginal aufruf.

FThread[i].ThreadHandle:=BeginThread(nil, 0, @FMake,@FThread[i].MyID, 0, FThread[i].ThreadID);

sirius 29. Jan 2010 16:26

Re: Mal wieder Threads....
 
Ah, ok. Aber du kannst doch gleich den Pointer auf den Record übergeben:
Delphi-Quellcode:
type
  PMyThread = ^TmyThread;
  TMyThread = record
   InUse     :Boolean;
   FormHandle :THandle;
   Text      :String;
   ..... usw.
end;
var
   FThread :Array[0..20] of TMyThread;



function GeloesterThread(MyThread: PmyThread): LongInt; stdcall;
begin
    //in i steht dann der index
  MyThread.InUse:=False;
end;



FThread[i].ThreadHandle:=BeginThread(nil, 0, @FMake,integer(@FThread[i]), 0, FThread[i].ThreadID);

DelTurbo 29. Jan 2010 16:41

Re: Mal wieder Threads....
 
Naja, das ist doch wie gehopst und gesprungen. Ich sagte ich habe probs mit der Syntax, nicht das ich nicht weiss was ich mache :zwinker:

Wobei.... so genau weiss ich eh nie was ich mache :-D

DelTurbo 30. Jan 2010 12:51

Re: Mal wieder Threads....
 
Rückmeldung!!

Das mit BeginThread hat mein prob gelöst. Nun rennt es sauber. Im moment laufen 14 Threads sauber "nebeneinander". Gibt es da eine obergrenze? Ich habe im moment bis zu 100 threads vorgesehen.

Nochmal danke für den tipp. :thumb:

Luckie 30. Jan 2010 13:10

Re: Mal wieder Threads....
 
So viel, bis der Speicher ausgeht. Aber was machen deine Threads? Je nach Aufgabe können Threads auch kontra produktiv sein.

sirius 30. Jan 2010 13:32

Re: Mal wieder Threads....
 
Zitat:

Zitat von Luckie
So viel, bis der Speicher ausgeht.

Das ist die Grenze für schlafende Threads. Gleichzeitig laufen sollten aber maximal 16.

Luckie 30. Jan 2010 14:49

Re: Mal wieder Threads....
 
Wo kann ich das nachlesen? 16 kommt mir dich etwas wenig vor.

mkinzler 30. Jan 2010 14:52

Re: Mal wieder Threads....
 
Zitat:

Zitat von Luckie
Wo kann ich das nachlesen? 16 kommt mir dich etwas wenig vor.

Wenn man die vom System (andere Benutzer) mitzählt auf jeden fall.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Seite 2 von 3     12 3      

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