AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi bedarf des Arbeitsspeichers meiner Anwendung verringern
Thema durchsuchen
Ansicht
Themen-Optionen

bedarf des Arbeitsspeichers meiner Anwendung verringern

Ein Thema von gabneo · begonnen am 8. Mai 2007 · letzter Beitrag vom 12. Mai 2007
 
CCRDude
(Gast)

n/a Beiträge
 
#16

Re: bedarf des Arbeitsspeichers meiner Anwendung verringern

  Alt 10. Mai 2007, 08:20
Die VCL verwendet er ja auch nicht (edit: hat er ja inzwischen auch geschrieben)

Das "Problem" mit dem Entladen dieser DLLs ist: die brauchst Du ja! Zumindest wahrscheinlich zu großen Teilen. Weißt es nur noch nicht Die RTL von Delphi benutzt halt diverse Funktionen aus diesen DLLs. Wenn Du einfach hingehst und einige DLLs entlädst, weißt Du nie, welche Funktionen gerade zufällig davon abhängen... besser also, dafür zu sorgen, daß sie von vorneherein gar nicht erst geladen werden!

Z.B.sehe ich da comctl32.dll und gdi32.dll ... das deutet darauf hin, daß irgendwo noch eine Unit eingebunden ist, die doch noch etwas grafisches veranstalten will. Das kann irgendwo Code sein, der rein theoretisch noch ein MessageBox aufrufen könnte z.B., oder irgend eine indirekt damit zusammenhängende Unit.

Ich etwa hab gerade noch einmal in einigen meiner Kommandozeilenprogramme nachgeschaut: einmal MessageBox plus AppEvents für irgendne Konstante eingebunden ergibt stolze 300 KB mehr (und hat auch den statischen Import jener DLLs bewirkt).

Aber nochmal vorsichtshalber: die DLLs entladen ist relativ heikel und hat eher zweifelhafte Erfolge... nutze sie besser als Indiz dafür, wo noch unnötiger Code mit einkompiliert wird. Als Anleitung dafür etwa kannst Du auch ein Programm nehmen, daß anzeigt, welche Funktionen aus diesen DLLs importiert werden (wenns der ProcessExplorer nicht macht, dann z.B. der FileAlyzer). Und wenn Du dann die völlig unnötige Funktion ImageList_Add aus comctl32.dll importiert siehst, suchst Du mal die RTL/VCL-Unit, die diese Funktion importiert, versuchst herauszufinden über welche Umwege diese auch in Dein Projekt eingebunden ist und ob Du diese Abhängigkeit nicht lösen kannst (zwar "kostet" der Import selber nichts, aber diese Unit kann halt jede Menge unnötigen Code mitkompilieren).
  Mit Zitat antworten Zitat
 


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 16:59 Uhr.
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-2025 by Thomas Breitkreuz