procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
 Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
我始终出错,请教是什么原因?

解决方案 »

  1.   

    你应该:
      if OpenDialog1.Execute then
        Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
      

  2.   

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    opendialog1.Execute;
    showmessage(opendialog1.FileName);
    end;
    这么做
      

  3.   

    to moj()你用你的方法看看
    是个死循环啊~
    坏蛋
    :)
      

  4.   

    多谢大家的意见,我也发现了如果放在procedure TForm1.Button3Click(Sender: TObject);就可以执行,但是放在procedure TForm1.OpenDialog1Close(Sender: TObject);就不行,为什么呢?
      

  5.   

    你应该:
      if OpenDialog1.Execute then
        Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
    那里会死循环?
     如果你不用 if OpenDialog1.Execute then 那么将得不到正确的结果,OpenDialog1.Execute 返回一个布尔值,当返回True的时候表示选择了文件,返回False的时候表示没有选择.在OpenDialogClose中一样不能判断是否选择了文件.所以删除掉OpenDialogClose中的代码,直接使用  if OpenDialog1.Execute then
        Memo1.Lines.LoadFromFile(OpenDialog1.FileName);即可