Hallo,
ich habe ein Programm, wie das hier:
Delphi-Quellcode:
program fileaccess;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, System.Classes;
type
TStringRec =
record
rErstesFeld: ShortString;
rZweitesFeld: ShortString;
rDrittesFeld: ShortString;
end;
var
AFiler: TFileStream;
ARec: TStringRec;
begin
try
{ TODO -oUser -cConsole Main : Code hier einfügen }
ARec.ErstesFeld := '
erster Inhalt';
ARec.ZweitesFeld := '
zweiter Inhalt';
ARec.DrittesFeld := '
dritter Inhalt';
AFiler := TFileStream.Create('
commands.def',fmCreate
{ or fmShareDenyNone});
//AFiler.Write(ARec,Sizeof(ARec)); auch das funktioniert nicht
AFiler.
Write(ARec.rErstesFeld,Length(ARec.rErstesFeld));
AFiler.
Write(ARec.rZweitesFeld,Length(ARec.rZweitesFeld));
AFiler.
Write(ARec.rDrittesFeld,Length(ARec.rDrittesFeld));
AFiler.Free;
//Ich dachte, vor der Freigabe würde der Filsstream seine Daten auf Platte schreiben.
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
end.
Leider wird nichts auf Festplatte geschrieben. Warum nicht? Auch mit Huge String funktioniert es nicht.
Ich verwende Delphi 10.3.2 Community Edition ohne Updates