Hallo,
ich möchte einen Filestream an eine
DLL übergeben.
Die
DLL hat dafür eine Funktion
procedure SetFileData(Data: Pointer; DataLen: int64); stdcall;
und aufgerufen wird dies dann im Programm mit
Delphi-Quellcode:
fs := TFilestream.Create(Filename,fmOpenRead);
SetFileData(@fs,fs.Size);
In der
DLL dann soll das Ganze auf Platte
Delphi-Quellcode:
procedure SetFileData(Data: Pointer; DataLen: int64); stdcall;
var
Dateiname: string;
fs: TFileStream;
begin
Dateiname := TPath.getsharedDocumentspath + TPath.DirectorySeparatorChar + 'meineTestdatei.txt';
fs := TFileStream.Create(Dateiname, fmCreate);
fs.Write(Data^, DataLen);
fs.free;
Leider ist meineTestDatei leer (0 Byte!)
Wo liegt der Fehler?
Ciao
Stefan