读书人

为何生成了一个ini文件后程序出错了 删

发布时间: 2012-03-07 09:13:51 作者: rapoo

为何生成了一个ini文件后程序出错了 删掉该生成语句后程序还是恢复不了原样?
我的程序有个登陆界面 登陆后是单文档程序 我在CWinApp的派生类的InitInstance()函数中加了free((void*)m_pszProfileName);
//改变Ini文件名.
m_pszProfileName=_tcsdup("c:\\sys.ini"); 这两句话,然后再在登录按钮对应的函数中添加了ini文件数据写入功能,结果生成了该ini文件,也实现了数据写入ini文件,但是登录后跳转到的单文档程序出错了,菜单不能实现不同界面的切换了,程序崩溃了,后来我把生成ini文件的语句和写入数据的语句都删了,程序还是恢复不了,原本菜单能切换的界面还是切换不了了,不知道怎么回事啊?高手帮忙看看吧!

[解决办法]
你的free干吗用啊?m_pszProfileName是动态分配的?
[解决办法]
// 去看一下别人的程序里 m_pszProfileName 是怎么定义的,对其是否有molloc之类的操作。
[解决办法]
SetRegistryKey(_T("Siemens"));
// under "HKEY_CURRENT_USER\\Software"
LoadStdProfileSettings(); // Load standard INI file options (including MRU)
而向导生成的是:
// Change the registry key under which our settings are stored.
// You should modify this string to be something appropriate
// such as the name of your company or organization.
SetRegistryKey(_T("Local AppWizard-Generated Applications"));

读书人网 >VC/MFC

热点推荐