AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zu Große EXE-Datei

Ein Thema von hille · begonnen am 8. Jun 2006 · letzter Beitrag vom 12. Jun 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 07:06
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
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#12

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 10:09
Zitat von 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
Nimmst du dich eigentlich selber ernst?

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 ...
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 13:30
Zitat von Olli:
Zitat von 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
Nimmst du dich eigentlich selber ernst?

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 ...
Olli nimm dir mal Reshacker und ne mit Delphi compilierte exe... zumindest ich kann bei mir immer die kompletten DFMs sehen, und dort sind auch die Bilder drin die du in ein TImage auf der Form hast!

(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
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#14

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 13:43
Zitat von Boombuler:
Olli nimm dir mal Reshacker und ne mit Delphi compilierte exe...
Nimm dir mal einen Hex-Editor und suche nach dem Text den der ResHacker anzeigt (es wird darauf hinauslaufen, dass der ResHacker die binäre Ressource ins Textformat konvertiert).
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 13:51
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
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
hille

Registriert seit: 19. Mär 2006
100 Beiträge
 
#16

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 15:16
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
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#17

Re: Zu Große EXE-Datei

  Alt 9. Jun 2006, 15:43
Zitat von Boombuler:
Olli nimm dir mal Reshacker und ne mit Delphi compilierte exe... zumindest ich kann bei mir immer die kompletten DFMs sehen, und dort sind auch die Bilder drin die du in ein TImage auf der Form hast!
Ich geb's auf ... heute sind einfach zuviele Leute die Probleme haben Daten und deren Repräsentation auseinanderzuhalten

Zitat von hitzi:
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
Das stimmt allerdings. Guter Einwand!

Zitat von hille:
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?
DLLs können alles mögliche beinhalten: Daten, Code, exportierte Funktionen, Objekte und Variablen, Ressourcen ... oder einen Mix aus alledem.
  Mit Zitat antworten Zitat
hille

Registriert seit: 19. Mär 2006
100 Beiträge
 
#18

Re: Zu Große EXE-Datei

  Alt 10. Jun 2006, 11:03
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
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#19

Re: Zu Große EXE-Datei

  Alt 10. Jun 2006, 12:06
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.
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#20

Re: Zu Große EXE-Datei

  Alt 12. Jun 2006, 08:56
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)



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
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:09 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