例外:访问冲突 - 文件访问

时间:2014-02-04 17:04:53

标签: delphi delphi-2009

我尝试使用一些单元来访问文本文件(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来以其他方法访问此文件。

我该怎么办?

1 个答案:

答案 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;