当前位置: 首页 > news >正文

对话框在DLL中DoModal()返回-1?

情景:主工程调用封装的DLL,其中DLL里面有对话框,也就是说主工程调用DLL里的导出类的成员函数,成员函数再启动对话框。(直接导出(AFX_EXT_CLASS)对话框类的话会报错,具体还没研究)

DoModal()总是弹不出对话框,DoModal()返回值为-1,开始以为是资源ID等一系列的问题。MFC对话框DoMoal返回-1

检查了好几遍,又重新建对话框类,也还不行。但是主工程的对话框可以正常弹出。

后来考虑DLL导出有问题,重新建工程,终于发现工程建错了,晕!!!

MFC有三种DLL:MFC的3种DLL

之前选的第一种:MFC regular dll,后来选第三种:MFC extension dll可以正常弹出对话框了

问题是解决;但仍然不是很清楚其内部的关联,下面可以参考研究:

Regular DLL(MFC规则DLL)、MFC...Extension DLL(MFC扩展DLL 区别

AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用

MFC DLL 不能正确调用的问题 + AFX_MANAGE_STATE(AfxGetStaticModuleState());

[经验总结] MFC DLL——Regular DLL and Extension DLL(

加了AFX_MANAGE_STATE(AfxGetStaticModuleState());会有断言(有可能加的方式不对)

查了一下说是没有初始化,

加了:

if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        //??_Module.LogEvent(_T("MFC初始化错误!"), EVENTLOG_ERROR_TYPE );
        return;
    }

还是弹不出对话框,没时间研究了,有空再看。

相关文章:

  • Linux系统网络I/O模型
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • error LNK2001: unresolved external symbol __declspec(dllimport) const XXXX::`vftable'
  • 高性能服务端开发知识点
  • 单文档让默认的菜单栏不显示
  • 【重学Linux系列(二)之一一Linux内核更换】
  • Linux扩容(虚拟机)
  • python常用的几个操作(读数据库、读ini、写日志)
  • zookeeper实践及原理
  • 敏捷开发
  • mogodb数据库恢复报错:too many positional arguments
  • mongodb恢复数据库
  • windows10安装Ubuntu子系统
  • socket API(linux)
  • Linux socket编程实战(阻塞)
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • CAP理论的例子讲解
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Intervention/image 图片处理扩展包的安装和使用
  • node-glob通配符
  • React16时代,该用什么姿势写 React ?
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 如何用vue打造一个移动端音乐播放器
  • 什么是Javascript函数节流?
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 带你开发类似Pokemon Go的AR游戏
  • 移动端高清、多屏适配方案
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • %check_box% in rails :coditions={:has_many , :through}
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (+4)2.2UML建模图
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (BFS)hdoj2377-Bus Pass
  • (C++17) optional的使用
  • (Java数据结构)ArrayList
  • (JS基础)String 类型
  • (五)MySQL的备份及恢复
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)linux 命令大全
  • ***原理与防范
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET开发不可不知、不可不用的辅助类(一)
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Data注解的作用
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [14]内置对象
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——