你应该:
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);即可