Du hast eine Ressourcen-
DLL nochmals als Ressource eingebunden? Soll das nur zum Üben sein, oder welchen Mehrwert versprichst Du Dir gegenüber einer "normalen" Ressource? Ansonsten sollte das doch über LoadFromResourceName zu machen sein, sofern Du an das Instanzenhandle der
DLL herankommst, wenn ich nicht irre.
Das hat den Sinn, dass ich diese
DLL nun direkt aus dem Speicher laden kann.
Ich nehm sie mir aus der Resource, lade sie in den Speicher und rufe ihre funktionen auf.
So muss ich die
DLL nicht auf dem Datei-System droppen
Die Lösung ist ja klar, nur weiß ich nicht wie ichs in der Praxis umsetze:
Delphi-Quellcode:
library adpResources;
{$R ress.RES}
function FileToStr(sPath:string; var sFile:string):Boolean;
var
hFile: THandle;
dSize: DWORD;
dRead: DWORD;
begin
Result := FALSE;
hFile := CreateFile(PChar(sPath), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
if hFile <> 0 then
begin
dSize := GetFileSize(hFile, nil);
if dSize <> 0 then
begin
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
SetLength(sFile, dSize);
if ReadFile(hFile, sFile[1], dSize, dRead, nil) then
Result := TRUE;
CloseHandle(hFile);
end;
end;
end;
<Ab jetzt Pseudo-Code>
function Exporter(Resource : Resourcename) : String; stdcall;
begin
FileToStr(Resourcename,result);
end;
exports Exporter index 1;
begin
end.
Ich suche nach einer möglichkeit IN meiner Resourcen-
DLL auf die resource zuzugreifen^^
EDIT:// Und dass ich resourcen in eine
dll einbinde und diese
dll dann wieder in eine resource packe hat alles sinn