delphi - opendialog.onhint 崩溃

标签 delphi crash fileopendialog hint

我已检查 100% 我正在关闭最近创建的文件的所有句柄。但是当我调用“opendialog.execute;”时对话框像往常一样弹出,但是当鼠标悬停在最近创建的文件的提示上时,整个事情会因越界错误而崩溃。

我知道这不是我的任何越界,就好像我打开文件而不会引起(onhint)事件一样,没有问题,并且硬编码文件名列表以进行测试表明打开或保存文件没有任何问题文件。它纯粹取决于打开对话框的 onhint 事件。就像我说的,如果我速度很快或者我使用箭头键,我的程序就没有问题。

更有趣的是,它甚至不会 100% 发生(大约 70%),这让我认为我已经修复了它好几次(如果不是只是在很短的时间内)。有谁知道会发生什么?如果不是,我怎样才能禁用 onhint 事件?

所要求的代码根本没有帮助

OpenDialog.execute;    // crashes here
if fileexists(form1.OpenDialog.FileName) then    
  form1.Address.Text:=form1.OpenDialog.FileName;

和错误 link text

编辑:好的,我有一些新信息,opendialog 的新实例仍然存在相同的问题。更有趣的是,我似乎已经解决了 30% 的问题,它是关于带有双标签的文件的提示,例如“test.jpg.enc”,第一次运行时它就很好,并且只在提示时崩溃这些编码的文件,但只有当我将该文件编码为白色时,应用程序才能打开。例如,如果我对其进行编码,然后尝试解码,它就会崩溃。我可以再次运行它并很好地解码它,但是在应用程序的一个实例中解码然后编码没有问题。

最佳答案

您确定已创建 form1 的实例吗?

如果是:

为什么不这样使用:

OpenDialog.Options:=  OpenDialog.Options + [ofFileMustExist];

if OpenDialog.Execute then
  Address.Text:= OpenDialog.FileName

并使用FastMM4,并在FastMM4.inc中定义FullDebugMode。 这可能会帮助您找到真正的问题

关于delphi - opendialog.onhint 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476359/

相关文章:

c# - CSharp 引用在 Delphi XE2 中编译的 x64 OCX

delphi - 内部错误 URW1135

delphi - 为什么 Delphi 7 在追加模式下打开文件时会在 ASCII 代码 14 之后截断文件?

ios - UIWeb View iOS 5 : WebKit/JavaScriptCore crash

iphone - ImageIO:CGImageRead_mapData 'open'在应用启动时失败错误= 2

c# - 不要使用 FileOpenDialog 显示网络驱动器

perl - 如何在 Windows 上使用 perl 调用系统文件选择对话框?

Delphi 10.2 - 如何从欢迎页面删除即将举行的事件面板?

c++ - 无法在 OpenGl 上使用 AssImp 运行场景