Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

TFileStream an DLL übergeben

  Alt 25. Aug 2017, 11:20
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
  Mit Zitat antworten Zitat