gpt4 book ai didi

c++ - 具有动态创建控件的 MFC 应用程序突然停止响应

转载 作者:行者123 更新时间:2023-11-28 02:16:58 24 4
gpt4 key购买 nike

我有一个 MFC 应用程序 (Visual Studio 2010),它根据用户的后续输入动态创建和销毁大量编辑框、下拉框和按钮。

我使用“Create”函数动态创建控件,删除控件时系统先为每个控件调用“DestoryWindow”函数,然后删除每个控件指针。

在重复一定数量的创建/删除控件后,如果我尝试“打开”下拉菜单,系统将无法打开它并停止响应我的输入 - 但我可以添加更多控件,如果我不尝试打开下拉菜单。

有人可以告诉我如何解决这个奇怪的问题吗?这个差点让我发疯...

最佳答案

解决方法很简单——不要尝试“打开”那个菜单 :)

现在我假设您想要修复这个问题。然后你需要弄清楚发生了什么。系统可能由于多种原因而没有响应,很可能是以下两种原因之一:

  • 您正处于主 UI 线程的繁忙循环中。
  • 您正在等待从未发生的事件。例如死锁。

当您的应用程序被卡住时,尝试将调试器附加到它并执行 Debug -> Break All。然后查看正在执行的代码。如果这种“卡住”的原因不明显,请发布相关代码。

关于c++ - 具有动态创建控件的 MFC 应用程序突然停止响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33751979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com