Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi nach ShellExecute hohe Speichernutzung ... (https://www.delphipraxis.net/45877-nach-shellexecute-hohe-speichernutzung.html)

Schneehasi 13. Mai 2005 13:35


nach ShellExecute hohe Speichernutzung ...
 
Hallo,

ich hab das Phänomen , daß sobald ich in meinem Programm ein ShellExecute durchführe der Speicherbedarf um ca 3000 kb steigt.

nachdem das ShellExecute fertig ist gibt er den Speicher aber nicht wieder frei :-/

außerdem kann ich mir nicht vorstellen das ein einfaches "rufe ein anderes Prog auf" so viel Resourcen platt macht ?!


Delphi-Quellcode:
ShellExecute(Handle ,'open',pchar(left),pchar(right),nil,SW_NORMAL);
das ist was ich tu ...

laut Taskmanager Speicherbedarf davor : 3300 kb
danach : 7900 kb

und dabei bleibts dann auch ...


kann man diesen unschönen Effekt beseitigen ? das Prog sollte so wenig wie möglich Resourcen brauchen ...

:-) Danke

MathiasSimmack 13. Mai 2005 13:52

Re: nach ShellExecute hohe Speichernutzung ...
 
Liegt das vllt. an dem aufgerufenen Programm? :gruebel: Wenn du es so startest, direkt und nicht aus deinem Programm heraus, belegt es dann auch so viel Speicher?

Schneehasi 13. Mai 2005 13:56

Re: nach ShellExecute hohe Speichernutzung ...
 
nein es scheint vollkommen egal zu sein welches Progamm ich da nun anstarte egal ob calc.exe oder firefox.de es sind immer so um die 3000 k mehr als vor dem start ... :-( zum Glück bleibt es dann bei den ca 8000 k egal was ich dann weiteres aus meiner App mit ShellExecute starte ...


vielleicht sollt ich noch hinzufügen :

der Speicherbedarf von meinem App steigt ... also von dem App welches ShellExecute macht ;-)

bigg 13. Mai 2005 14:34

Re: nach ShellExecute hohe Speichernutzung ...
 
Zitat:

ShellExecute(Handle ,'open',pchar(left),pchar(right),nil,SW_NORMAL);
Das ist auch ganz einfach zu begründen.
Du erstellst die aufgerufene Instanz über dein Prozess-Handle.

So sollte es funktionieren:
Delphi-Quellcode:
ShellExecute(0 , nil, PChar(Left), PChar(Right), nil, SW_NORMAL);
PS: Schau mal hier,da gibbet den Process-Explorer, der müsste dir meine Begründung graphisch anzeigen.

Schneehasi 13. Mai 2005 14:41

Re: nach ShellExecute hohe Speichernutzung ...
 
das hatte leider nicht den gewünschten Erfolg ... die Speichernutzung bleibt unverändert (Win2k)

bigg 13. Mai 2005 14:51

Re: nach ShellExecute hohe Speichernutzung ...
 
Zitat:

Zitat von Schneehasi
das hatte leider nicht den gewünschten Erfolg ... die Speichernutzung bleibt unverändert (Win2k)

Jupp, meine Behauptung ist auch falsch gewesen :roll: :mrgreen:

Schneehasi 20. Mai 2005 16:55

Re: nach ShellExecute hohe Speichernutzung ...
 
hat keiner mehr einen Rat oder eine Lösung ? :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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