在线请教:为什么我的OpenDialog1.FileName是乱码?

anneduan 2003-08-21 04:04:39
procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
我始终出错,请教是什么原因?
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvloj 2003-08-22
  • 打赏
  • 举报
回复
你应该:
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);即可
anneduan 2003-08-21
  • 打赏
  • 举报
回复
多谢大家的意见,我也发现了如果放在procedure TForm1.Button3Click(Sender: TObject);就可以执行,但是放在procedure TForm1.OpenDialog1Close(Sender: TObject);就不行,为什么呢?
sy_315 2003-08-21
  • 打赏
  • 举报
回复
to moj()

你用你的方法看看
是个死循环啊~
坏蛋
:)
sy_315 2003-08-21
  • 打赏
  • 举报
回复
procedure TForm1.Button3Click(Sender: TObject);
begin
opendialog1.Execute;
showmessage(opendialog1.FileName);
end;
这么做
lvloj 2003-08-21
  • 打赏
  • 举报
回复
你应该:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
lvloj 2003-08-21
  • 打赏
  • 举报
回复
如果安装了3721,先卸载,重起计算机,再试一下.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧