.
   .
  public
     zfilepathlist:TStrings;
   .
   .
procedure TFrm_result.Button1Click(Sender: TObject);
var
begin
zfilepathlist.Create;
SearchALLFile().....自定义的function
end;function TFrm_result.SearchALLFile(.....自定义的function
....
zfilepathlist.Add(tstr);  <---------------总是在这里出错!
....错误提示:
project1.exe raised exception class EAccessViolation with message 'Access violation at address 0047498d in module 'Project1.exe'.read of address 00000000'我是初学者,对TStrings型变量不太了解,请各为前辈指点!

解决方案 »

  1.   

    begin
    zfilepathlist:=TStrings.Create;
      

  2.   

    又是一个内存非法的问题,建议楼主把全局变量声明在interface的VAR区域,不要声明某个对像的变量
      

  3.   

    zfilepathlist:=TStrings.Create;
    首先要创建实例
      

  4.   

    我的目的是想声明一个全局变量zfilepathlist(Tstrings类型的),用于在我自定义的函数
    中将我查找到的文件名加入到zfilepathlist中,也就是说在窗体zfilepathlist声明后,在第一次创建实例后,就是累加字符串操作了。就是这个目的!
      

  5.   

    解决了!
    Zpath := TstringList.Create;多谢大家的帮忙!