Einzelnen Beitrag anzeigen

newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#11

Re: *.dll Datei zur Resource datei *.res machen

  Alt 22. Sep 2006, 11:12
Hallo Heiko

Es funktioniert leider nicht mit der bass.dll ich habe folgendes gemacht

Delphi-Quellcode:
//bass.rc erstellt mit folgenden Inhalt

bassdll RCDATA bass.dll

//danach mit "brc32 -r bass.rc" Compiliert
als nächstes habe ich die bass.res in Delphi eingebunden mit

Delphi-Quellcode:
var
  Form1: TForm1;
  DLLRes: TResourceStream;


implementation

uses Unit2, Unit3;

{$R *.DFM}
{$R bass.res}
und so wird sie entpackt

Delphi-Quellcode:

  if not FileExists(ExtractFilePath(Application.ExeName)+'\bass.dll') then
  begin
    //wenn dll nicht vorhanden
    DLLRes :=TResourceStream.Create(0, 'bassdll', 'RT_RCDATA');
    DLLRes.SaveToFile(ExtractFilePath(Application.ExeName)+'\bass.dll');
  end
     else
         begin
  end;//if
Das funktioniert aber leider nicht die DLL wird nicht entpackt. Ich habe jetzt mit Tipp von "Carlo91" mit Visual C++ eine *.res Scriptdatei erstellt und die bass.dll importiert danach als bass.res abgespeichert und mit dieser*res funktioniert es jetzt

Entpackt wird sie so

Delphi-Quellcode:
DLLRes :=TResourceStream.CreateFromID(0, 101, PChar('DLL'));
DLLRes.SaveToFile(ExtractFilePath(Application.ExeName)+'\bass.dll');
//ich könnte auch zwei dll's einbinden muss dann nur die ID ändern also nicht 101 sondern 102 das funktioniert bestens anders bekomme ich es leider nicht hin
DLLRes :=TResourceStream.CreateFromID(0, 102, PChar('DLL'));
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat