在程序启动时用文档类读取文件

南郊居士 2014-11-04 09:52:45
单文档应用程序,计划在程序启动时使用文档类读取一个配置文件(*.ini),数据都放在文档类里面了。

求问应该在哪里进行读取?

说明:
因为计划用GetPrivateProfilexxx函数读取*.ini文件,所以似乎用不到Serialize的序列化功能。但是如果在app类中调用OpenDocumentFile函数,最终也会走到Serialize里。

我现在能想到的方法就是在Serialize里面再获取配置文件的路径,可是这样很傻,绕了一个大弯

后来又尝试在框架类里面GetActiveDocument,但是在哪里调用又成了个问题,现在已知在OnCreate里面调用是无效的
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
南郊居士 2014-11-06
  • 打赏
  • 举报
回复
引用 4 楼 u010340197 的回复:
视图类的OnInitialUpdate可不可以?
实现的话倒是可以,我不知道这样做是不是不合乎MFC框架设计的初衷
南郊居士 2014-11-06
  • 打赏
  • 举报
回复
引用 3 楼 jennyvenus 的回复:
写一个函数,生成ini的名字,只查找exe下某个ini. 再写一个函数,调用getprivateprofilestring来读写这个ini中的数据 ini文件看起来很弱,但是100K以内的数据操作还是没问题的。
额。。。不好意思,您似乎答非所问了
南郊居士 2014-11-06
  • 打赏
  • 举报
回复
引用 2 楼 happyparrot 的回复:
非得放到文档类的话,可以在OnNewDocument函数中,读取INI文件内容,和序列化没关系
谢谢您的解答 我是以配置文件的形式来保存一些数据结构参数,为的是修改简便,用记事本就可以编辑了。因为我在文档类里面维护了一个树形链表,所以希望用文档类来读取这些参数。 我知道这和序列化没关系,但是如果调用OpenDocumentFile,最终的实现需要在Serialize函数中编写,没办法直接获取配置文件名,有些舍近求远 即使使用OnNewDocument,也需要一个调用的位置吧,这是我困惑的问题
守山大神 2014-11-06
  • 打赏
  • 举报
回复
视图类的OnInitialUpdate可不可以?
用户 昵称 2014-11-05
  • 打赏
  • 举报
回复
写一个函数,生成ini的名字,只查找exe下某个ini. 再写一个函数,调用getprivateprofilestring来读写这个ini中的数据 ini文件看起来很弱,但是100K以内的数据操作还是没问题的。
快乐鹦鹉 2014-11-05
  • 打赏
  • 举报
回复
非得放到文档类的话,可以在OnNewDocument函数中,读取INI文件内容,和序列化没关系
快乐鹦鹉 2014-11-05
  • 打赏
  • 举报
回复
配置文件还是放大app类比较好,基本上是个全局的.在app的InitInstance函数中读取INI文件内容

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧