我一直在Windows 7机器上运行Windows 7中的Delphi XE开发应用程序大约3周不间断,但之后它停止工作并弹出一个消息框,其中“控件没有父窗口”。 “之后,在软件中似乎没有任何工作,除非它被关闭并重新启动。
我知道这个错误意味着什么,但我想弄明白。为什么呢?
任何提示或建议都将不胜感激。谢谢。
答案 0 :(得分:6)
资源泄漏的标志,窗口处理最有可能。使用TaskMgr.exe,进程选项卡进行诊断。查看+选择列并勾选句柄,用户对象和GDI对象。在使用程序时,请密切关注程序的值。稳定的增加意味着麻烦,Windows在10,000之后停止提供更多。
如果这没有帮助,那么改善您的异常处理,以便您可以获得更好的诊断,堆栈跟踪对于诊断此类问题非常重要。
答案 1 :(得分:4)
您应该安装MadExcept,JclExcept或其他异常处理库的副本,该库支持在引发未捕获的异常时显示/记录调用堆栈(如果在IDE调试器内运行时无法重现异常,那就是)。然后你可以弄清楚你的应用程序在异常时尝试做什么,并希望将其缩小到代码中正在访问缺少其父窗口的特定UI控件的位置。