Zitat von
Leuselator:
Wie Christian schon sagte:
versuch mal:
Und so wird versucht einzuladen
FileRead(fh,MyServer^.Version,Sizeof(Integer));
FileRead(fh,MyServer^.Servername,60);
FileRead(fh,MyServer^.Bufferlen,Sizeof(Integer));
// hier kommt's:
GetMem(MyServer.DescBuffer,myServer.BufferLen);
FileRead(fh,MyServer^.DescBuffer,myServer.BufferLe n);
Danke für die Bemühungen, ich hab es jetzt andersweitig hinbekommen.
Für diejenigen die es Interessiert
Delphi-Quellcode:
Type pServer = ^tServer
tServer = packed Record
Version : integer;
DescSize : integer;
Beschreibung : string;
.
. usw
end;
Schreiben In einem Stream Stream
Delphi-Quellcode:
Daten.Write(MyServer^.Version,Sizeof(Integer));
Daten.Write(MyServer^.DescSize,Sizeof(Integer));
Daten.Write(pCHAR(MyServer^.Beschreibung)^,MyServer^.DescSize);
Lesen vom Stream
Delphi-Quellcode:
Daten.Read(MyServer^.Version,Sizeof(Integer));
Daten.Read(MyServer^.DescSize,Sizeof(Integer));
SetLength(MyServer^.Beschreibung,MyServer^.DescSize);
Daten.Read(pChar(myServer^.Beschreibung)^,MyServer^.DescSize);
Danke nochmals