我尝试使用一些单元来访问文本文件(CSV)。 我这样做:
type
TCSV_Data = class
private
stFile:TextFile;
public
constructor Create(path:string);
end;
.
.
.
constructor TCSV_Data.Create(path: string);
begin
assignfile(stFile,ces);
end;
问题是,当我调用构造函数时,方法assignfile会引发异常: "模块' myprog.exe'中地址004036FF处的访问冲突。写下地址00000010。"
当我使用本地过程变量时,一切正常,但我需要stFile-handle来以其他方法访问此文件。
我该怎么办?
答案 0 :(得分:3)
您可能错误地调用了构造函数。几乎可以肯定你在写:
var
CsvData: TCSV_Data;
....
CsvData.Create(path);
此类代码不正确。这是你如何正确地做到这一点:
var
CsvData: TCSV_Data;
....
CsvData := TCSV_Data.Create(path);
try
// do stuff with CsvData
finally
CsvData.Free;
end;