Delphi 7 opendialog 在 Windows 10 中使用时文件名中有垃圾
Delphi 7 opendialog has garbage in filename when used in Windows 10
这是我第一次post来这里,如果我做的不对,请原谅我。
我在 Windows 10 机器上使用 Delphi 7。当我使用 TOpenDialog 时,关闭时文件名 属性 中出现垃圾。这就是我得到的 þƒ‡uÔÁ™ßðæRw。我创建了一个带有按钮和编辑框的简单表单来显示这里的问题。有人可以帮助我吗?
代码如下。
procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Execute();
end;
procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
edit1.Text := opendialog1.FileName;
end;
不要使用对话框的 OnClose
事件。在拥有文件名数据的基础对话框对象被销毁后调用。
改为在 Execute
return 秒时响应对话框。
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute() then
edit1.Text := opendialog1.FileName;
end;
请注意,您还必须测试 Execute
的 return 值来处理用户取消对话框。
这是我第一次post来这里,如果我做的不对,请原谅我。
我在 Windows 10 机器上使用 Delphi 7。当我使用 TOpenDialog 时,关闭时文件名 属性 中出现垃圾。这就是我得到的 þƒ‡uÔÁ™ßðæRw。我创建了一个带有按钮和编辑框的简单表单来显示这里的问题。有人可以帮助我吗?
代码如下。
procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Execute();
end;
procedure TForm1.OpenDialog1Close(Sender: TObject);
begin
edit1.Text := opendialog1.FileName;
end;
不要使用对话框的 OnClose
事件。在拥有文件名数据的基础对话框对象被销毁后调用。
改为在 Execute
return 秒时响应对话框。
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute() then
edit1.Text := opendialog1.FileName;
end;
请注意,您还必须测试 Execute
的 return 值来处理用户取消对话框。