Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Exe in Ressource (https://www.delphipraxis.net/85336-exe-ressource.html)

Gehstock 29. Jan 2007 14:45


Exe in Ressource
 
wollte wie gesagt 2 Exe dateien in die Ressource Packen und bei Programmstart in ein Temp verzeichnis entpacken und bei bei programmende wieder löschen


das löschen sollte ja nicht das problem sein

aber die exen erst mal in die ressource packen das konnte ich mit "visualstudio" nur delphi ignoriert die dateien+
das icon und der cursor funzen aber , ich gehe also davon aus das Delphi diese Funktion nicht unterstützt hab jetzt ein programm gefunden das nennt sich Bin2Pas

das solche dateien erzeugt

Delphi-Quellcode:
unit Test;

interface

Var

Programm : array[0..131071] of byte = (
 $54, $a6, $4f, $b3, $cc, $56, $50, $f6, $50, $56, $50, $56, $50, $56, $50, $56,
 $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56,
 $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56, $50, $56,
 $50, $56, $50, $f6, $af, $a9, $af, $09, $24, $56, $50, $f6, $af, $a9, $af, $a9,
 $74, $56, $cf, $b3, $4c, $46, $cf, $b3, $50, $56, $c0, $b3, $51, $56, $00, $b7,
.......

wie bekomm ich die bvei programmstart gespeichert als exe


oder gibts ne andere möglichkeit

Luckie 29. Jan 2007 14:50

Re: Exe in Ressource
 
Ressourcenscript erstellen:
Code:
1 RCDATA FirstDll.dll
Mit dem Delphi Ressourcenkompiler kompilieren. Die entstandene res-Datei in das Delphi Projekt aufnehmen:
Delphi-Quellcode:
{$R foobar.res}
Und zur Laufzeit auf der Festplatte speichern:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
type
  TAdd = function(a, b: Integer): Integer; stdcall;
var
  rs: TResourceStream;
  hDll: THandle;
  Add: TAdd;
begin
  rs := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
  try
    try
      rs.SaveToFile(ExtractFilepath(ParamStr(0)) + 'temp.dll');
    except
      on E:Exception do
        MessageBox(Handle, PChar(E.Message), 'Fehler',MB_ICONSTOP);
    end;
  finally
    FreeAndNil(rs);
  end;
end;

SirThornberry 29. Jan 2007 14:51

Re: Exe in Ressource
 
ich hatte bisher noch nie Probleme Binrädateien (egal ob Exe oder nicht) in eine Ressource zu packen welche in ein Delphiprogramm eingebunden wird. Wie hast du es denn versucht? Und was heißt "nur delphi ignoriert die dateien"? Wie kommst du zu dem Schluss?

Robert Marquardt 29. Jan 2007 14:54

Re: Exe in Ressource
 
Kleiner Hinweis: Das funktioniert mit Vista nicht mehr unbedingt. Das Programmverzeichnis ist moeglicherweise nicht schreibbar. Ins Temporaerverzeichnis oder das Verzeichnis der Programmeinstellungen schreiben.

DP-Maintenance 29. Jan 2007 15:10

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.

Luckie 29. Jan 2007 15:14

Re: Exe in Ressource
 
Ich habe das Programmverzeichnis natürlich nur zu Demonstratrionszwecken benutzt.

Gehstock 29. Jan 2007 15:22

Re: Exe in Ressource
 
danke funktioniert toll

klasse forum


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