Einzelnen Beitrag anzeigen

NBG

Registriert seit: 21. Okt 2003
Ort: HH
19 Beiträge
 
#5

Re: Für diesen befehl ist nicht genügend Speicher verfügba..

  Alt 23. Mär 2005, 15:39
Ihr habt natürlich recht! Ich erzeuige 2000 Klassenistanzen.

Ich erkläre euch mal genauer was ich vor habe:
Ich habe eine TThreadList und eine Schleife in der ich laufend Thread Klassen einfüge, die widerum ein
TIdIcmpClient erzeugen, der die in der schleife hochgezählte Zahl als eine IP umwandelt und Anpingt. Ist der Host erreichbar wird die IP in eine Liste eingefügt. Ziel ist, daß ich mir aufliste, welche Hosts in meinem Netzwerk online sind. Ich wa schon erstaunt das er es geschaft hat in der schleife 2000 Threads zu erzeugen! Ich hatte sowas ähnliches nämlich schon mal unter win 98 programiert und da ist er bei mehr als 20 Laufenden Threads abgestürtst.
unter XP machter 2000??? vieleicht habt ihr diesbezüglich auch eine idee, wiso das unter XP möglich ist. Vieleicht habe ich auch unter 98 irgend ein buck gehabt, kann auch sein.
Die einstellungen im stack habe ich im übrigen auch schonmal geändert! ich habe die doppelte größe für Maxsize angegeben, mit dem erstaunlichen ergebnis, das nun nicht doppelt soviel sondern nur die hälfte an Instanzen erzeugt worden sind. Scheint also so, als werden die nicht auf dem Stack gelegt. Der Stack scheint mir soga Speicher zu rauben. Ich habe mal mit dem Tool Rambooster, anzeigen lassen, wieviel Ram die Instanzen kosten, und es sind ca 64 MB und es ist bei meiner Ram größe von 512 MB noch einiges frei. Also wie kann ich nochmer Instanzen erzeugen?
Thx!!!
  Mit Zitat antworten Zitat