我正在使用 Delphi 2007,我正在尝试制作记录类型文件。在 Delphi 7 中对我来说没有问题。
Type
Kompiuteris = record
...
end;
Failas = file of Kompiuteris;
但是在 Delphi 2007 中我遇到了问题。错误说:类型“Kompiuteris”需要最终确定。那么,有什么问题呢?
我正在使用 Delphi 2007,我正在尝试制作记录类型文件。在 Delphi 7 中对我来说没有问题。
Type
Kompiuteris = record
...
end;
Failas = file of Kompiuteris;
但是在 Delphi 2007 中我遇到了问题。错误说:类型“Kompiuteris”需要最终确定。那么,有什么问题呢?
从文档中:
编译器在内部对某些类型进行了特殊处理,因为它们必须正确完成以释放它们当前可能拥有的任何资源。因为编译器无法确定在运行时实际存储在记录的变体部分中的类型,所以无法保证这些特殊数据类型正确完成。
String 是需要终结的数据类型之一,因此它们不能存储在 File 类型中。
您需要设置记录字符串字段大小
例如:
如果您在记录中有名为 name 的字段
Type
Kompiuteris = record
name :String[255] ; // Works fine
end;