AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi exe-Datei wird nicht mehr kleiner - Ressourcen
Thema durchsuchen
Ansicht
Themen-Optionen

exe-Datei wird nicht mehr kleiner - Ressourcen

Offene Frage von "SleepyMaster"
Ein Thema von SleepyMaster · begonnen am 29. Sep 2004 · letzter Beitrag vom 1. Jul 2005
Antwort Antwort
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#1

exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:12
Hi ihrs

In einem Programm von mir speicher ich Daten als Ressourcen in eine exe-Datei. Mein Problem ist, dass wenn ich die Ressourcen wieder lösche die exe Datei nicht wieder kleiner wird. Zwar wird die exe nicht größer, wenn ich Daten wieder in die exe reinkopiere, bis die größe der gelöschten Daten erreicht ist, aber es ist trozdem eine Platzverschwendung, solange keine neuen Daten reinkopiert werden.

Weiß jemand eine Lösung, wie ich die exe wieder kleiner bekomme nach dem löschen der Daten?

Vielen Dank
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:13
Die Resourcen sind ja in der *.res-Datei gespeichert, hast du sie dort gelöscht und dein Programm neu erstellt?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:13
Wie löscht du die Ressourcen aus der Exe?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#4

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:16
@Dax: Ich kopiere die Ressourcen Dateien zur Laufzeit in die exe

@Luckie:

Delphi-Quellcode:
var
  hUpdate: THandle;
begin
  hUpdate:= BeginUpdateResource(pchar(ModuleFileName), false);
  if hUpdate <> INVALID_HANDLE_VALUE then
    begin
    UpdateResource(hUpdate, pchar(ResType), pchar(RessourceFileName), 0, nil, 0);
    EndUpdateResource(hUpdate, false);
    end
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#5

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:21
@Luckie: Gibt es denn noch eine andere Möglichkeit die Ressourcen zu löschen?

@All: Need help! (Das Programm soll auf einem USB Stick laufen also wäre mir der Speicherplatzt schon wichtig)
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#6

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:44
Ich hab zwar keine Ahnung, aber vielleicht probiertst du mal mit
Delphi-Quellcode:
hUpdate:= BeginUpdateResource(pchar(ModuleFileName), TRUE);
EndUpdateResource(hUpdate, false);
sämtliche Resourcen zu löschen und die änderungen in die EXE speichern lassen mit EndUpdateResouce...
und dann die weiterhin benötigten Resourcen wieder hinzuzufügen?
Delphi-Quellcode:
  hUpdate:= BeginUpdateResource(pchar(ModuleFileName), false);
  // Alle Resourcen wieder hinzufügen...
  UpdateResource(hUpdate, pchar(ResType1), pchar(RessourceFileName1), 0, nil, 0);
  UpdateResource(hUpdate, pchar(ResType2), pchar(RessourceFileName2), 0, nil, 0);
  // ...
  EndUpdateResource(hUpdate, false);
Ist vielleicht ein Versuch wert, oder?
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#7

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 29. Sep 2004, 17:59
Nein, dass macht die exe leider nicht kleiner.

Hätte sonst noch jemand eine Idee?
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: exe-Datei wird nicht mehr kleiner - Ressourcen

  Alt 1. Jul 2005, 14:58
Was du mit den o.g. Funktionen machst ist nur, daß du die Referenzen aus dem entsprechenden Verzeichnis der PE entfernst. Jedoch bräuchtest du ein Realignment - dazu konsultierst du am besten die einschlägigen Infos zum PE-Format (LUEVELSMEYER usw.).
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:25 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