Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kompilierte Datei editieren (https://www.delphipraxis.net/46079-kompilierte-datei-editieren.html)

DarkLord0 18. Mai 2005 01:47


Kompilierte Datei editieren
 
Hallo,

Gibt es eine Möglichkeit, eine kompilierte Delphi-Datei im Nachhinein durch ein anderes Programm (Also nicht neu kompilieren) zu verändern? Ich möchte bei einer solchen nämlich später noch die Möglichkeit haben, bestimmte Labels und Images mit möglichst wenig Aufwand zu ändern (über ein anderes Programm, was ich für den Zweck schreiben würde, also nicht manuell per Resource editor o.ä.). Die kompierte Datei würde als .exe vorliegen, aber falls ein anderes Format dafür besser geeignet ist, kann das auch verwendet werden (solange das zweite Programm in der Lage ist, daraus eine .exe zu machen).

tia

toms 18. Mai 2005 02:43

Re: Kompilierte Datei editieren
 
Hallo,

Evtl eignet sich TExtraResManager

Mit dieser Komponente kann man nachträglich an bereits kompilierte Exe-Dateien sogenannte "Extra-Resourcen" anhängen und natürlich auch wieder auslesen. Bei diesen Extra-Resourcen handelt es sich allerdings nicht um herkömmliche Resourcen, die mit jedem Resource-Viewer erkannt werden können, sondern können nur mit Hilfe dieser Komponente erstellt und ausgelesen werden. Diese Komponente kann einem die Entwicklung von SFX-Archiven oder Setup- und Update-Programmen erheblich erleichtern! Die Komponente enthält auch eine Hilfe-Datei!

Hinweis: Diese Komponente enthält und verwendet Teile des DEC von Hagen Reddmann.

DarkLord0 18. Mai 2005 11:19

Re: Kompilierte Datei editieren
 
Danke :) , ich probier sie mal aus

DarkLord0 19. Mai 2005 00:16

Re: Kompilierte Datei editieren
 
Noch eine Frage : Kann man bei Delphi irgendwie einstellen, dass bestimmte Resourcen beim kompilieren aus Dateien geladen werden sollen? Also dass man z.B. nicht mehr manuell alle images neu laden lassen muss (über die IDE), sondern sie automatisch immer beim kompilieren aus festgelegten (Bild-)Dateien geladen werden

Schneider-Huetter 19. Mai 2005 06:33

Re: Kompilierte Datei editieren
 
Damit funktionierts (für Bitmaps):

Delphi-Quellcode:
  procedure LoadFromResourceName(Instance: THandle; const ResName: string);
Beispiel aus der OH:
Delphi-Quellcode:
  procedure TForm1.Button1Click(Sender: TObject);

  var
  BitMap1 : TBitMap;
  begin
    try
      BitMap1 := TBitMap.Create;
      BitMap1.LoadFromResourceName(HInstance,'THEBITMAP');
      Canvas.Draw(12,12,BitMap1);
    finally
      BitMap1.Free;
    end;
  end;
für weitere Funktionen einfach mal die OH nach 'resource' durchsuchen, evtl auch in der Hilfe zum PSDK suchen.

DarkLord0 19. Mai 2005 10:15

Re: Kompilierte Datei editieren
 
Hm, damit könnte man wohl Resourcen auf buttonclick, bei Programmstart o.ä. laden, aber kann man damit auch erreichen, dass die resourcen nur genau einmal, nämlich beim kompilieren geladen werden (und dannach nicht mehr eingebunden oder geladen werden müssen) ?

barf00s 19. Mai 2005 10:28

Re: Kompilierte Datei editieren
 
das macht der compiler automatisch,
bei doppelt vorhandenen resourcen (also mit gleicher ID oder gleichem NAMEN) meckert der compiler


kA

DarkLord0 19. Mai 2005 10:44

Re: Kompilierte Datei editieren
 
aber wenn ich nur eine onbuttonclick prozedur habe wie oben, lädt er die resourcen doch nicht beim kompilieren...?

MathiasSimmack 19. Mai 2005 11:17

Re: Kompilierte Datei editieren
 
Die Ressourcen werden ins Programm aufgenommen (kompiliert), wenn du die entsprechende RES-Datei im Quellcode angibst:
Delphi-Quellcode:
{$R MeinRessourcen.res}
Ob du sie dann per Buttonklick lädtst, oder per "OnCreate" der Form, bleibt dir überlassen.

DarkLord0 19. Mai 2005 11:27

Re: Kompilierte Datei editieren
 
Achso, alles klar. :) Bin in dem Thema noch nicht so bewandert, wie man sieht^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 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