AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Freie Ressourcen unter XP ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Freie Ressourcen unter XP ermitteln

Ein Thema von Sunlight7 · begonnen am 4. Apr 2009 · letzter Beitrag vom 6. Apr 2009
Antwort Antwort
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#1

Freie Ressourcen unter XP ermitteln

  Alt 4. Apr 2009, 19:42
Abend DP!

Unter Win 9x gabs noch die RSRC32.DLL, aus der man Info bekommen konnte, wieviel % der Ressourcen noch frei sind.
Aber wie kann man das unter XP ermitteln?

Ich würde künftig gerne vorgewarnt werden, bevor XP die Ressourcen ausgehen und sich dann Programme vertschüßen oder der Speichen Dialog nimmer aufgeht, etc. pp...

(Ich meine nicht den freien RAM!)

Thx für Infos,
mfG, Sun
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Freie Ressourcen unter XP ermitteln

  Alt 4. Apr 2009, 21:11
Ich würde sagen, wenn du soweit bist, dass du so was brauchst, dann machst du was falsch. Was hast du denn bezüglich der Ressourcen für Probleme? Was macht dein Programm und wie macht es das?

Raymond Chen hat mal gesagt, dass wenn man beim Programmieren nach dem maximum von irgendwas fragen muss, dass dann was falsch läuft im Programm.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#3

Re: Freie Ressourcen unter XP ermitteln

  Alt 4. Apr 2009, 22:09
Ich würde sagen, Du hast was falsch verstanden

Es geht nicht um mein Programm was so n Ressourcenfresser ist, sondern darum, das XP irgendwann die Ressourcen ausgehen und ich es wissen will bevor es soweit ist.

zB ist der Einwahlmanager von meinem ISP so n fleissiger Ressourcensammler, das ich den deswegen ab und an abschießen muß um wieder an Ressourcen zu kommen...
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Freie Ressourcen unter XP ermitteln

  Alt 5. Apr 2009, 01:45
Dieses Problem gibt es doch unter Windows NT gar nicht mehr in der Form. In der 16-Bit Zeit von Windows waren die Ressourcen für die graphische Oberfläche beschränkt, unter Windows 9x gab es dann in der genannten DLL die interne Methode _MyGetFreeSystemResources32, die im Grunde nur ein Wrapper für den Aufruf der entsprechenden alten 16-bit Funktion GetFreeSystemResources war. Wegen eben dieser Abwärtskompatibilität gab es für die User- und GDI-Ressourcen ein Limit von 64KiB.

Mit Windows 2000 hat sich das aber grundlegend geändert, da die alten Programme in einer extra Umgebung abliefen. Das alte Limit von 64KiB war Geschichte. Deshalb kann es unter Windows XP dieses Problem eigentlich gar nicht mehr geben.
// EDIT:
Bzw. unter Windows XP bedeutet es etwas anderes, wenn nicht genügend "Ressourcen" zur Verfügung stehen. Damit ist dort in der Tat eher der Arbeitsspeicher z.B. gemeint.
Es sei denn es handelt sich um ein uraltes Programm, das in der virtuellen Maschine für 16-Bit Programme läuft oder so, dann kann das vermutlich schon noch sein, dass da diese Ressourcen fehlen.

Um die Anzahl der GDI- und Userobjekte eines Prozesses anzufragen kannst du ab Windows 2000 die Funktion GetGuiResources verwenden:
http://msdn.microsoft.com/en-us/library/ms683192.aspx
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Freie Ressourcen unter XP ermitteln

  Alt 5. Apr 2009, 09:54
Zitat von jaenicke:
Bzw. unter Windows XP bedeutet es etwas anderes, wenn nicht genügend "Ressourcen" zur Verfügung stehen. Damit ist dort in der Tat eher der Arbeitsspeicher z.B. gemeint.
Auch unter XP/Vista kann man in Ressoucenprobleme laufen. Dauert halt etwas länger da jede neue Windows-Version die Grenzen höher legt. Auch die Abschottung zwischen den Prozessen ist hier nicht 100% gelöst. Leakt ein Prozess sehr stark so bekommt auch dein eigenes Programm irgendwann keine Ressourcen mehr zugeteilt bekommt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Freie Ressourcen unter XP ermitteln

  Alt 5. Apr 2009, 10:25
Also ein solches Programm wäre dann aber derart schlecht geschrieben, dass ich es nie einsetzen würde. Denn bis man an diese Grenzen stößt muss man als Programmierer schon viel Mist gebaut haben.

Zitat von Sunlight7:
zB ist der Einwahlmanager von meinem ISP so n fleissiger Ressourcensammler, das ich den deswegen ab und an abschießen muß um wieder an Ressourcen zu kommen...
Brauchst du den denn? Ich kenne eigentlich keinen ISP, für den man einen bräuchte, jedenfalls in Deutschland.

Jedenfalls kannst du diesen Prozess ja gezielt daraufhin überwachen, aber sinnvoller wäre sicherlich eine andere Lösung.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#7

Re: Freie Ressourcen unter XP ermitteln

  Alt 6. Apr 2009, 12:40
Ja den brauch ich, ohne geht keine Einwahl...

Es ist halt so ne Sache, wenn ich sonst keine Programme gestartet habe geht das eine Ewigkeit gut, da ich aber der Typ bin, der Multitasking wörtlich nimmt und gerne mit vielen Programmen gleichzeitig arbeite, wobei ein paar dabei sind, die etwas leaken, bis hin zu dem einen, das das extrem macht kommt man eben schneller ans Limit.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Freie Ressourcen unter XP ermitteln

  Alt 6. Apr 2009, 19:26
Zitat von Sunlight7:
Ja den brauch ich, ohne geht keine Einwahl...
Welcher Exot ist das denn?

Dann frag am besten wirklich gezielt (wie gesagt mit GetGuiResources) die Ressourcen dieses Programms ab. Du könntest das natürlich auch mit allen Programmen machen.

Ich habe es allerdings nicht geschafft unter Vista einen Ressourcenmangel absichtlich zu provozieren, das Programm hat nach einer Weile eine Fehlermeldung produziert, das restliche System lief vollkommen normal weiter.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 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