質問
私は、Delphi 2007を使用していると私はレコードタイプのファイルを作成しようとしています。デルファイ7で私のために問題はなかったです。
Type
Kompiuteris = record
...
end;
Failas = file of Kompiuteris;
しかし、デルファイ、2007年に私が問題を取得します。タイプ「Kompiuterisは」ファイナライズが必要です。エラーが発生しましたと言います。だから、何が間違っているのですか?
解決
ドキュメントする :
特定の種類は、それが正しく、彼らが現在所有する可能性のあるすべてのリソースを解放するために確定されなければならないという点で、内部的にコンパイラによって特別に扱われます。コンパイラは実行時に実際にレコードのバリアント部に記憶されているものの種類を判別することはできませんので、これらの特殊なデータ型が正しく確定されていることを保証することはできません。
の文字列は、ファイナライズを必要とするデータ・タイプの一つであり、そのようなものとして、それらはファイル・タイプに格納することができません。
他のヒント
あなたは、サイジングレコード文字列フィールドを設定する必要があります。
例として:
あなたは、レコード内のフィールドを持っている場合は、名前
と呼ばれますType
Kompiuteris = record
name :String[255] ; // Works fine
end;
所属していません StackOverflow