我已经检查了 100% 我正在关闭我最近创建的文件的所有句柄。但是当我调用“opendialog.execute;”时 对话框像往常一样弹出,但是在鼠标悬停在最近创建的文件的提示上时,整个事情都会因越界错误而崩溃。
我知道这不是我的任何越界,就好像我打开文件而不引起(onhint)事件一样没有问题,并且硬编码文件名列表以进行测试表明打开或保存文件没有任何问题。它纯粹是在打开对话框的 onhint 事件上。就像我说的那样,如果我很快或者我使用箭头键,那么我的程序就没有问题。
更有趣的是,它甚至不会发生 100% 的时间,大约 70%,这导致我认为我已经修复了好几次,如果不仅仅是在很短的时间内。有谁知道会发生什么?如果不是,我该如何禁用 onhint 事件?
要求的代码根本没有帮助
OpenDialog.execute; // crashes here
if fileexists(form1.OpenDialog.FileName) then
form1.Address.Text:=form1.OpenDialog.FileName;
和错误 链接文本
编辑:好的,我有一些新信息 opendialog 的新实例仍然存在相同的问题。更有趣的是,我似乎已经解决了 30% 的问题,它提示带有双标签的文件,例如“test.jpg.enc”,它在第一次运行时就很好,它只会在提示时崩溃在这些编码文件中,但只有当我将该文件编码为白色时,应用程序才打开。例如,如果我对其进行编码,然后尝试解码并且它崩溃了..我可以再次运行它并很好地解码它,但是在应用程序的一个实例中解码然后编码没有问题。