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

MFC/C++学习系列之简单记录1——错误解决与Dialog移植

MFC/C++学习系列之简单记录1

  • 前言
  • MFC application已停止工作
  • Dialog移植
  • MFC中的去边框设置
  • 总结


前言

最近接触MFC,接手一个项目,基于MFC架构编写的,在跑通代码的过程中出现的问题进行简单记录。


MFC application已停止工作

在代码移植过程中,直接build代码,提示MFC application已停止工作。使用Debug进行单步运行,在运行某个指针指向的时候,突然报错,会提示access violation

从其他角度查资料,发现其实可能是指针未指向使用的存储区。在Debug的过程中,我发现xx->yy,其中yy这个定义其实是空指针,再仔细查看,没有定义yy这个指针。

当把yy这个指针定义后,问题就决解了。

这个问题其实主要原因是在没有了解源码的过程中,直接运行程序。然后解决很明显的错误后。才意识到,项目负责人给的两个程序的同一个类在调用过程中的不同命名问题导致。

tips:
软件文档的重要性:在一些地方需要备注。
不同人的开发编程不同,需要有一定的开发规则设置。

Dialog移植

在接收一个项目时,给我又丢了一个活。直接移植MFC的两个界面到另一个项目中。但是我不熟悉MFC的使用。通过摸索,建议使用.ogx。这个可能只有VC6.0才能使用。

  • 第一步:生成.ogx文件。
    在需要移植的项目界面中,右击选择dialog相关联的类,选择Add to Gallery

  • 第二步:添加.ogx文件。
    工程——添加工程——components。这里一般路径会默认与生成.ogx的路径一致。选择对应的.ogx会直接插入。插入的内容包含Dialog和对应的类。

MFC中的去边框设置

在没有使用.ogx时,MFC的界面不像C#中的界面移植,直接复制代码。准备建立新的Dialog,在建立新的Dialog后,需要考虑去边框的设置。

  • 第一方面:对话框样式设置。边框选择None。
  • 第二方面:对话框样式。因为当去边框需要嵌入别的对话框时,需要额外再设置样式。在别的Dialog中使用该界面需要设置为child属性,否则无法加载出该界面。

在这里插入图片描述


总结

最近遇到MFC的问题解决记录!


http://www.kler.cn/a/451805.html

相关文章:

  • RAGFlow 基于深度文档理解构建的开源 RAG引擎 - 安装部署
  • vue3 如何使用 mounted
  • js 数据类型以及typeof的关系
  • ubuntu 网络管理
  • vue中proxy代理配置(测试二)
  • 国自然面上项目分享|基于人工智能和病理组学的早癌筛查算法研究|基金申请·24-12-24
  • 【hackmymv】emma靶机wp
  • 如何在Facebook发布Reels?简单易懂的操作指南
  • openjdk17 中 klass 数组 在元空间内存分配
  • EMS从0到1之数据采集
  • 08. 基于docker-compose部署LNMP架构
  • Debug的使用
  • 19、vue3组件通信
  • STM32文件详解
  • 从 GitLab.com 到 JihuLab.com 的迁移指南
  • leetcode之hot100---19删除链表的第N个节点(C++)
  • GitLab 将停止为中国区用户提供服务,60天迁移期如何应对? | LeetTalk Daily
  • 【NLP高频面题 - 高效微调篇】什么是提示微调?
  • 全国硕士研究生入学考试(考研)备考要点之备考原则
  • GMV 含义
  • 【R语言遥感技术】“R+遥感”的水环境综合评价方法
  • 接口请求中调试可以看到Origin,其具体的作用
  • 【文档搜索引擎】缓冲区优化和索引模块小结
  • 框架专题:设计模式
  • mvn install:install-file jar 打入本地仓库
  • 虚拟机桥接模式