exe über Resource in Anwendung einbinden
-
Hallo,
Ich versuche gerad vergeblich zwei exe-Dateien in meine Anwendung über Resourcen einzubinden. Dabei bin ich wie folgt vorgegangen:
- zuerst habe ich zwei Dateien erzeugt:Resource.rh schrieb:
#ifndef RESOURCE_RH
#define RESOURCE_RH
//------------------------------------------------------------
#define RES_tar 100
#define RES_gzip 101
//------------------------------------------------------------
#endifResource.rc schrieb:
#include "Resource.rh"
//------------------------------------------------------------
RES_tar RCDATA "tar.exe"
RES_gzip RCDATA "gzip.exe"
//------------------------------------------------------------- Anschliessend habe ich die Resource.rc dem Projekt hinzu gefügt. Wenn ich die Grösse der Compilierten exe ansaue, so sind die beien anderen Programme enthalten.
- anschliessend versuche ich über TResourceStream auf die Resourcen zu zugreifen:TResourceStream* FileResource; :arrow_right: FileResource = new TResourceStream((int)Application->Handle,"RES_tar",RT_RCDATA); FileResource->SaveToFile(InstallDir+"tar.exe"); delete FileResource; FileResource = new TResourceStream((int)Application->Handle,"RES_gzip",RT_RCDATA); FileResource->SaveToFile(InstallDir+"gzip.exe"); delete FileResource;Der Debuger bleibt nun bei der mit dem
markierten Zeile stehen und gibt folgende Fehlermeldung aus:Debugger-Exception schrieb:
Ressource RES_tar wurde nicht gefunden.
Kann mir da jemand verraten, was ich falsch mache und wie es richtig wäre?
-
Haben den Code nochmals angeschaut und bemerkt wo der Fehler liegt:

So funktionierts:FileResource = new TResourceStream(NULL,"#100",RT_RCDATA); FileResource->SaveToFile(InstallDir+"cyginsttar.exe"); delete FileResource; FileResource = new TResourceStream(NULL,"#101",RT_RCDATA); FileResource->SaveToFile(InstallDir+"cyginstgzip.exe"); delete FileResource;