这是我在这里的第一篇文章,所以如果我做的不对,请原谅我。
我在Windows 10计算机上使用Delphi 7。当我使用TOpenDialog时,关闭时在filename属性中得到了垃圾。这就是我得到的þƒ‡uÔÁ™ßðæRw。我创建了一个带有按钮和编辑框的简单表单,以在此处显示问题。有人可以帮我吗。
代码如下。
procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Execute();
end;
procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
edit1.Text := opendialog1.FileName;
end;
最佳答案
不要使用对话框的OnClose
事件。在拥有文件名数据的基础对话框对象被销毁后调用该方法。
而是在Execute
返回时响应对话框。
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute() then
edit1.Text := opendialog1.FileName;
end;
请注意,您还必须测试
Execute
的返回值,以处理用户取消对话框的操作。