古詩詞大全網 - 成語查詢 - delphi xe6關聯文件時出如下錯誤,請問如何解決?

delphi xe6關聯文件時出如下錯誤,請問如何解決?

從代碼看,是壹段對文本文件進行操作的代碼。?

錯誤提示 Incompatibale types : TPersistent and Text,不兼容的類型:TPersistent 和 Text。

出現這種錯誤的原因在於,Assign 函數有多種同名函數,在上述的代碼中,Assign 的功能是給 TextFile 文件變量賦值,這個函數應該使用 System 單元中定義的函數,而在實際運行中默認使用的 System.Class 中的 Assign 函數,此函數的定義如下:

procedure?TPersistent.Assign(Source:?TPersistent);

所以,會出現上述的?TPersistent 和 Text 不匹配錯誤。

解決辦法:

1、將 Assign 用 AssignFile 代替。

AssignFile 函數

作用:將壹個外部文件的文件名與壹個File類型的變量關聯,並對變量進行初始化。

原型:procedure AssignFile(var F; FileName: String);

F:壹個File類型的變量,可以是任何數據類型。

FileName:外部文件的文件名。

2、在 Assign 前面添加限定:

System.Assign(f1,?'word.txt');