gpt4 book ai didi

delphi - 记录需要最终确定 - 文件中不允许

转载 作者:行者123 更新时间:2023-12-03 15:47:49 24 4
gpt4 key购买 nike

我是 delphi 的初学者,我遇到了最终错误 e2155。我正在使用 RAD 10 并尝试在移动设备上运行我的程序。它在我的 Windows 机器上运行良好,但是当我更改为 Android 或 IOS 时,它会出现最终确定错误。

代码:

    type
TRaumparameter = record
ID : string;
Länge: string;
Breite: string;
Höhe: string;
Fläche: string;
Raumvolumen: string;
Wände: string;
Decke: string;
Boden: string;
Baujahr: string;
Heizlast: string;
end;
var Aufstellraum: Traumparameter;
{ Public declarations }

end;

var
Form1: TForm1;

implementation
{$R *.fmx}
{$R *.iPad.fmx IOS}

procedure TForm1.speichernClick(Sender: TObject);
var F: File of Traumparameter;
begin
Aufstellraum.Länge:=form2.Länge.Text;
Aufstellraum.Breite:=form2.Breite.Text;
Aufstellraum.Höhe:=form2.Höhe.Text;
Aufstellraum.Fläche:=form2.Fläche.Text;
Aufstellraum.Raumvolumen:=form2.ErgebnisRaumVol.Text;
Aufstellraum.Wände:=form2.Wände.Text;
Aufstellraum.Decke:=form2.Decke.Text;
Aufstellraum.Baujahr:=form2.Baujahr.Selected.Text;
Aufstellraum.Heizlast:=form2.Heizlast.Text;

try
AssignFile(F,'D:\test\1.txt');
ReWrite(F);
Write(F,Aufstellraum);
finally
CloseFile(F);
end;
end;

我已经尝试用 [] 限制字符串的长度,但它告诉我:';'符合预期,但发现了“[”。希望我能得到一些答案,因为我安静地度过了一段时间,但没有取得任何成功。提前致谢!!

最佳答案

当您尝试编写包含 String 类型的记录文件时,编译器不允许这样做:

E2155 Type '%s' needs finalization - not allowed in file type (Delphi)

String is one of those data types which need finalization, and as such they cannot be stored in a File type

无论如何,使用二进制文件类型编写带有 String 字段的记录是没有意义的,因为您将编写地址而不是文本(字符串是引用类型)。

<小时/>

当您声明具有专用长度的字符串时,它们被称为 ShortString (值类型)。不过,移动编译器不支持 ShortString

我建议您使用其他技术来存储文本。例如,了解如何使用 json 将记录转换为文本。

关于delphi - 记录需要最终确定 - 文件中不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34561132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com