出现的错误信息为: Debug Asserition Failed 0xC000005 Access violation
//dll内接口函数定义
void Dlg_Show
{
CweblogDlg* dlg = (CweblogDlg*) lpParameter;
dlg->Create(IDD_DLGID);
dlg->ShowWindow(SW_SHOWMINIMAXED);
}
之后再了令一个exe中调用上述非模态对话框出现上述错误;
处理方法1:将dlg定义为dll内的全局变量
方法2 检查对话框属性是否为child,如果为child,则会出现 0xC000005 Access violation
原因在于使用Create创建modelless 对话框时参数2(指向父类指针)没有指定,这样当属性和函数参数类型
不匹配时错误就产生了。
解决方法: 将dl中的对话框属性由child--->Popup,这样再调用dll的该接口函数时就不会有问题了
本文的问题属于情况2