我刚刚在项目选项中遇到了一些有趣的、启用的运行时主题,当 TDCTree 上显示提示(来自旧的 Dream 组件,类似于 TTreeView)并且鼠标移到另一个应该显示提示的节点上时,我得到了什么是:
---------------------------
Debugger Fault Notification
---------------------------
Project DRIVE:\path\to\project\MyApp.exe faulted with message: 'system exception (code 0xc000041d) at 0x73c84cad'. Process Stopped. Use Step or Run to continue.
---------------------------
OK
---------------------------
我相信在 IDE 中会出现同样的问题,每当我在设计时添加项目时尝试将鼠标悬停在项目上。
如果我在项目选项中禁用运行时主题,也不例外,但它会显示“旧式 XP 提示”。
应用程序本身会引发事件名称为“APPCRASH”的异常。
看到很多与“运行时主题”相关的问题,但还没有看到任何方法可以在不禁用它们的情况下避免这些问题。
操作系统:Windows 7 x64
Delphi:2007 年安装了 2007 年 12 月和 2008 年 2 月的更新
更新 1:
避免该问题的一种方法是:
Procedure TDCTreeToolTip.DoHideToolTip;
Begin
Inherited;
If FToolTipAdded Then
if FTreeNode <> NIL then // fix
DeleteToolTip(ToolTipID,FTreeNode.TreeView.Handle);
FToolTipAdded:=False;
FTreeNode:=Nil;
End;
在单元“dcntree.pas”中。
似乎 FTreeNode 在调用 DoHideToolTip 之前“以某种方式”获得了 NIL-ed,因此“引发了系统异常......它仍然无法解释为什么只有在“启用运行时主题”时
我现在没有时间进一步调查,但找到了“触发器”,需要弄清楚“谁”在拉动它。