Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 1. Okt 2010, 01:18
Damit das hier mal ein Ende hat.

Ressourcenskript:
Code:
Anne RCDATA Anne.jpg
DLL:
Delphi-Quellcode:
library ResDLL;

{$R resource.res}

begin
end.
Exe:
Delphi-Quellcode:
procedure ExtractResFromDLL(DLLName: String; ResName: String; Filename: String; ResType: PChar);
var
  dll: THandle;
  ResStream: TResourceStream;
begin
  dll := LoadLibraryEx(PChar(DLLName), 0, LOAD_LIBRARY_AS_DATAFILE);
  if dll <> 0 then
  begin
    ResStream := TResourceStream.Create(dll, ResName, RT_RCDATA);
    try
      try
        ResStream.SaveToFile(Filename);
      except
        on E: Exception do
          raise Exception.Create(E.Message);
      end;
    finally
      ResStream.Free;
    end;
  end
  else
    RaiseLastOSError;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    ExtractResFromDLL(ExtractFilePath(ParamStr(0)) + 'ResDLL.dll', 'Anne', ExtractFilePath(ParamStr(0)) + 'Anne.jpg', RT_RCDATA);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
end;
Und das ganze noch mal als lauffähige Demo im Anhang.
Angehängte Dateien
Dateityp: zip ExtractResFromDLL.zip (1,11 MB, 3x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie ( 1. Okt 2010 um 01:39 Uhr)
  Mit Zitat antworten Zitat