Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm mit ShellExecute mehr Rechenpower zuweisen (https://www.delphipraxis.net/146653-programm-mit-shellexecute-mehr-rechenpower-zuweisen.html)

zeras 24. Jan 2010 15:29


Programm mit ShellExecute mehr Rechenpower zuweisen
 
Hallo,

ich nutze ShellExecute, um ein externes Programm zu starten.
Dieses benötigt aber offensichtlich relativ viel Rechenpower, denn bei langsamen Rechnern stürzt das externe Programm dann ab. Wenn ich das gleiche mit einem Rechner mache, der relativ schnell ist, passiert das nicht.
Gibt es eine Möglichkeit, dass man dem externen Programm mehr Rechenzeit zuweißt? Vielleicht kann man damit etwas verbessern.
Nur so eine Idee. Ob das realisiert werden kann??
Am externen Programm kann ich jedenfalls nichts ändern, da ich keine Quellen habe.

Astat 24. Jan 2010 16:48

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
Zitat:

Zitat von zeras
Hallo,

..ich nutze ShellExecute..
Gibt es eine Möglichkeit, dass man dem externen Programm mehr Rechenzeit zuweißt?

Hallo zeras, mit ShellExecute ist dies nicht möglich, da Du für sowas das Prozesshandle brauchst.

Verwende, CreateProcess oder ShellExecuteEx.
Danach mit SetPriorityClass + SetThreadPriority weiter.
Such in der DP, ist genug vorhanden.

lg. Astat

Luckie 24. Jan 2010 18:12

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
Und was hat er davon, wenn das Programm mit einer höheren Priorität läuft? Dadurch hat es auch nicht mehr Speicher oder was auch immer mit Rechenpower gemeint ist.

zeras 24. Jan 2010 18:28

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
Da es bei langsamen Rechnern eher abstürzt als bei schnelleren könnte ich mir vorstellen, dass man bei langsamen die Prio hochsetzt und dadurch mehr Rechenzeit für das Programm hat. Ist das nicht korrekt?
Ich werde dies mal testen, aber dazu muss ich im Programm einiges umstellen.

Es handelt sich um eine Steuerungssimulation und wenn diese nich genug Rechenzeit abbekommt, dann einfach Absturz.

Luckie 24. Jan 2010 18:39

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
dadurch, dass du die Priorität hochsetzt machst du da nichts schneller. Dein Prozess bekommt nur häufiger Rechenzeit zugeteilt. Und ich bin mir ziemlich sicher, dass es auch auf besseren Rechnern abstürzt, nur eben später. Ich würde mal nach Speicherlecks und ähnlichen gucken.

zeras 24. Jan 2010 18:45

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
Zitat:

Zitat von Luckie
Und ich bin mir ziemlich sicher, dass es auch auf besseren Rechnern abstürzt, nur eben später. Ich würde mal nach Speicherlecks und ähnlichen gucken.

Die Erfahrung habe ich bisher nicht gemacht. Meistens ist es so, dass beim Start der Absturz kommt und wenn das System erst mal läuft, dann alles OK ist.
Wenn es erst mal läuft, dann kann ich das stundenlang laufen lassen. Aber erst mal in der Zustand kommen. Da habe ich halt die Erfahrung bei uns in der Firma gemacht, dass es bei relativ alten Rechnern öfters abstürzt als bei neueren.
Speicherlecks kann ich nicht prüfen, weil ich am dem externen Programm nichts ändern kann.

Astat 24. Jan 2010 19:37

Re: Programm mit ShellExecute mehr Rechenpower zuweisen
 
Zitat:

Zitat von zeras
Speicherlecks kann ich nicht prüfen, weil ich am dem externen Programm nichts ändern kann.

Hallo zeras, es gibt einige sehr nützliche Programm für die Analyse von Windows Applicationen.

Starte das Program mal mit Windebug, und sieh Dir an wos kracht.
Starte Perfmon und sieh dir die wichtigsten Counter an.
Wenn nichts ungewöhnliches in Perfmon, deaktiviere alle Counter die Du nicht brauchst (exctrlst.exe aus dem Resourcekit)

Deaktiviere alle nicht notwendigen Programme, Dienst und Treiber.

http://www.microsoft.com/whdc/DevToo...ebugstart.mspx

lg. Astat


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