MFC MDI - “遇到不正确的论点”
Posted
技术标签:
【中文标题】MFC MDI - “遇到不正确的论点”【英文标题】:MFC MDI - "Encountered an improper argument" 【发布时间】:2012-07-06 15:01:29 【问题描述】:我已将 VLC 播放器嵌入到 MFC MDI 应用程序中。每当我关闭包含嵌入式 VLC 播放器的子框架时,都会弹出一个带有以下消息的消息框“遇到不正确的参数”。如果我在弹出此消息框后关闭应用程序。它没有关闭。该应用程序进入后台,然后我必须转到任务管理器并终止该应用程序。 这仅在发布版本中发生。我在调试版本中从未遇到过这个错误。 请告诉我如何解决这个问题。
【问题讨论】:
【参考方案1】:“遇到不正确的参数”会在您尝试访问已定义但不属于当前范围的控件时弹出。例如,如果您有多个表单/视图并尝试从另一个窗体/视图访问控件。
我会看:
BEGIN_MESSAGE_MAP
,
DoDataExchange
以此类推,并检查每个ID是否在当前页面/视图/表单/对话框的范围内。
【讨论】:
我错过了在 DoDataExchange 中为控件调用 DDX_Control()。当我在控件上调用 SetWindowTextA (SetWindowText) 时,会产生消息“遇到不正确的参数”..【参考方案2】:对不起,我解决了这个问题。我在我的应用程序中围绕 libmysql 编写了包装类。问题是由于我的包装类中发生了一些内存泄漏。
【讨论】:
以上是关于MFC MDI - “遇到不正确的论点”的主要内容,如果未能解决你的问题,请参考以下文章