![]() |
Ressourcen-Datei vergrößert mein EXE. Warum???
Hallo!
Ich bin dabei ein kleines Programm zu schreiben. Dabei binde ich ein paar BMP-Bilder von einer RES-Datei in mein Programm ein. Das funktioniert auch alles. Nur leider ist mir aufgefallen, dass die Compilierte EXE-Datei um so größer wird, je mehr Bilder ich in die RES-Datei einbinde. Um den Vorgang auf die Spitze zu treiben, habe ich ein Bild 10 mal in die RES-Datei eingebunden. Danach war die RES-Datei ca. 12 MB groß. Anschließend habe ich das Project compiliert und die erzeugt EXE-Datei war ca. 13 MB groß, obwhl ich die Bilder in Delphi nicht eingebunden habe. Ich kann als sagen, dass die Bilder nicht erst zur Laufzeit, sondern schon beim Compilieren in die EXE-Datei eingebunden werden. Um eine Datei möglichst klein zu halten, ist dies jedoch nicht erwünscht. Mit folgenden Code hole ich die Bilder in Delphi hinnein.
Delphi-Quellcode:
Hat jemand Rat?
implementation
{$R *.DFM} {$R resbitmap.res} procedure loadbmp; begin Form1.image1.Picture.Bitmap.LoadFromResourceName(0,'bild01'); Form1.Image5.Picture.Bitmap.LoadFromResourceName(0,'bild02'); Form1.Image9.Picture.Bitmap.LoadFromResourceName(0,'bild03'); usw... Gruß aus den Emsland max666 |
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Ich versteh jetzt deine Frage nicht ?
Wenn du die Bilder in deine Exe einbindest, ist doch klar, dass sich die Exe auch vergrössert, oder etwa nicht ? Wenn du die Exe kleiner haben möchtest, kannst du die Bilder auch normal laden:
Delphi-Quellcode:
Allerdings müsstest du dann die Bilder extra mitliefern...
Image1.BitMap.LoadFroamFile('C:test\bmp');
|
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Hallo!
Ich glaube ich habe das Prinzip nicht verstanden. Ist eine RES-Datei nicht dazu da, dass man die Bild darin erst zu Laufzeit laden kann, um so die Größe einer EXE-Datei möglichst klein zu halten? Welchen Sinn hat eine RES-Datei, wenn sie nach dem Compilieren überflüssig geworden ist, da ihre Bilder sich in der EXE-Datei befinden. Wie kann ich nun die Bilder zur Laufzeit einbinden, um mein Ziel - die Dateigröße der RES-Datei möglichst klein zu halten, zu erreichen. Wäre es Gruß max666 |
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Mit einer Res-Datei speicherst du die Bilder als Ressource in deiner Exe !
|
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Eine RES-Datei ist dazu da, Ressurcen (Bilder, Sound, Exe's etc.) direkt ins Pogramm ein zu binden. So ist alles in einer Exe drin, und nicht lose in Ordner oder so.
Wenn du also Bilder per RES einbindest, so wird die Exe dementsprechend auch grösser. |
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Hallo!
Du hast Recht. Wenn ich Bilder so eintrage:
Delphi-Quellcode:
werden sie erst zu Laufzeit eingebunden. Jetzt habe ich aber die einzelnen Bilder ín meinen Projekt rum fliegen.image2.Picture.Bitmap.LoadFromFile('c:\test\test01.bmp'); Kann man es nicht machen, dass die Bilder in einer großen Datei gesammelt und dennoch erst zu Laufzeit geladen werden können. Gruß max666 |
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Du könntest eine Ressource-DLL verwenden.
|
Re: Ressourcen-Datei vergrößert mein EXE. Warum???
Hallo!
Davon habe ich schon was gelesen. Gute Idee und danke schon mal für Dein Wissen. Gruß max666 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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