Re: Zu Große EXE-Datei
PS:
Es gibt auch die Möglichkeit die Resourcen in eine DLL zu kompilieren statt in eine Exe und die Bilder dann darüber zu laden. Aber Tatsache ist: Die Bilder müssen nun mal irgendwie bei deinem Programm bei sein die Frage ist nur wie und wo ;) Du kannst das natürlich auch kombinieren sprich: Kompression (z.B. JPEG) und ResourceDLL... Greetz Boombuler Ach ja @ Luckie: Wenn du die Bilder im TImage hast werden die mit in der DFM als Text gespeichert und das als Hex-String: Wenn du das allerdings in eine Resource Datei kompilierst werden die meines Wissens nicht als Hex-Strings sondern Binär gespeichert! Das bringt sicherlich nicht das Meiste ist aber ein Größenunterschied :wink: |
Re: Zu Große EXE-Datei
Zitat:
Daß die DFM dir als Benutzer als Text (und bider damit als "Hex-Strings") angezeigt wird, mag sein. Daß sie in der EXE danach auch noch als "Hex-Strings" stehen ist totaler Quark. Sie sind natürlich genau wie in einer Ressource als "Binärdaten" (nämlich so wie sie eingebunden wurden) enthalten ... |
Re: Zu Große EXE-Datei
Zitat:
(Merke: Ich will nich das das hier zu nem riesen Streit ausartet!!! Aber wenn ich das Richtig sehe werden so auch alle Forms erstellt die mit VCL geschrieben sind: Erzeuge einen TReader -> gebe ihm die DFM aus der Resource der Exe und lass ihn die Forms erstellen Kann auch sein das wir aneinander vorbeireden! Aber ich habs nu gerad noch mal mit Delphi und ResHacker ausprobiert!!!) Greetz Boombuler Beispiel:
Code:
object Form1: TForm1
Left = 235 Top = 151 Width = 870 Height = 640 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Image1: TImage Left = 120 Top = 80 Width = 105 Height = 105 Picture.Data = { 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000006E00 0000410403000000C28F8C2B0000000F504C544500FF0000FD009B9B9BFFFFFF 000000159119840000009A4944415478DAED93C10D80200C455B27D00D58C115 DC3F8C206E002CA0224A15628CF626F00F3FB4E45D7E5B049E307F0EDB502C06 BACD7C4FEFE6D4A51FC5709A72AA5CCCF9509FF30C2A8ABB8BEDE51C32E6CEFB 034AF658BB1060791C4B05708DF84C8D9EEBC1B40BEE66C5DCC024664BA54D7B CE64E532E098FBF2977BE072EC3B1A40C5992B1ACB391B757DC9CA65C031F7E5 2FF7C0D20A7A89A160F44052BD0000000049454E44AE426082} end end |
Re: Zu Große EXE-Datei
Zitat:
|
Re: Zu Große EXE-Datei
Es kann aber trotzdem evt. kleiner werden. Wenn man mit TImage gearbeitet hat, kann es schon passieren, dass man ein und das selbe Bild zweimal nutzt und es dafür in zwei oder mehr TImages über die IDE lädt. Schon ist ein und selbe Bild mehrmals in der EXE vorhanden. Wenn dies der Fall ist, kann man durch die Nutzung von Ressourcen die mehrfach vorhandenen Bilder auf ein einziges Vorkommen in der EXE einschränken. Dadurch kann Größe gespart werden :)
|
Re: Zu Große EXE-Datei
Ahha, nur wie kann ich eine Bild Datei (jpeg, png(braucht man da noch eine Unit?) oder bmp) in eine DLL Datei Laden?
Ich dachte immer das DLL Dateien immer 3D-Modelle beinhalten? Hille |
Re: Zu Große EXE-Datei
Zitat:
Zitat:
Zitat:
|
Re: Zu Große EXE-Datei
Ah, und wie kann ich jetzt dort die bilder reinladen?
Geht das über Datei/Neu/DLL ? Habe mich damit nämlich noch nicht beschäftigt. Hille |
Re: Zu Große EXE-Datei
In die DLL? Über ein Ressourcen-Script (.RC), welches man über den Ressourcen-Compiler jagt und eine Ressourcen-Datei (.RES) rausbekommt, die man per {$R Datei.res} einbinden kann.
|
Re: Zu Große EXE-Datei
EDIT:
So ich nehm alles zurück: Hexeditor sagt ca Sowas: Picture.Data #$F9 #00#00#00 TPNGObject#$89#$50[Die binären Daten]END (was genau da steht kann ich leider net erkennen weil: HIEW = Falscher Zeichensatz) :wall: :wall: :wall: Ich sollte es vielleicht einsehen das Olli in 99.9% der Fälle halt doch mehr Ahnung hat ;) Greetz Boombuler PS: Kleiner Erfolg: Man könnte sich die paar Bytes für "Picture.Data #$F9 #00 #00 #00 TPNGObject#$89#$50" sparen ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 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