BHO插件,关闭IE时会提示"内存不能为read"错误,一般会是什么问题? 写了一个IE的BHO插件,只打开一个IE窗口时,没有任何问题.但是当打开一个以上IE窗口时,每关闭一个窗口就会出现"内存不能为read"错误,烦请高手提示一下问题会出在哪? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、内存泄漏2、QUIT代码有问题 "内存不能为read"错误?一般来说会有一个崩溃地址,结合生成的.map文件查找出错的代码在哪。 我在DllMain的DLL_PROCESS_ATTACH里初始化CPlayer这个类并分配给g_pPlayer全局变量,在DLL_PROCESS_DETACH里delete g_pPlayer.问题就在delete g_pPlayer,如果不加这句就不会出错,加了这句就会出现内存错误,而我把CPlayer类的析构函数全部注释掉也是同样的错误.下面附上相关代码:====================================CPlayer *g_pPlayer; // 全局变量extern "C"BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/){ if (dwReason == DLL_PROCESS_ATTACH) { TCHAR pszLoader[MAX_PATH]; ::GetModuleFileName(NULL, pszLoader, MAX_PATH); _tcslwr(pszLoader); if (_tcsstr(pszLoader, _T("explorer.exe"))) { return FALSE; } g_pPlayer = new CPlayer(); _Module.Init(ObjectMap, hInstance, &LIBID_KMEDIALib); DisableThreadLibraryCalls(hInstance); } else if (dwReason == DLL_PROCESS_DETACH) { if (g_pPlayer) delete g_pPlayer; // 加了这句就会内存出错 _Module.Term(); } return TRUE;} 你这个思路是COM编程吗?怎么没用引用计数来自动析构?别的IE窗口在用着,你怎么能删除这个对象? 写COM组件的时候 遇到问题了 请教,弹出提示框的问题 声音输出的问题 请问如何更改系统默认的颜色?背景的,控件的,等等? please help me!!! 一个简单问题 我要写一个有关于网络数据传输加密的程序,需要有什么方面的知识?有什么比较好的书吗? 帮帮忙,如果根据窗口的句柄,获取应用程序进程的ID? 'WinMain':function cannot be overloaded这个错误怎解决? atl 传递对象参数 新建一个虚拟目录,用来接收上传的文件,没任何程序,可以吗? 寻找画带有箭头直线的箭头代码
2、QUIT代码有问题
一般来说会有一个崩溃地址,结合生成的.map文件查找出错的代码在哪。
====================================
CPlayer *g_pPlayer; // 全局变量extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if (dwReason == DLL_PROCESS_ATTACH) {
TCHAR pszLoader[MAX_PATH];
::GetModuleFileName(NULL, pszLoader, MAX_PATH);
_tcslwr(pszLoader);
if (_tcsstr(pszLoader, _T("explorer.exe"))) {
return FALSE;
} g_pPlayer = new CPlayer(); _Module.Init(ObjectMap, hInstance, &LIBID_KMEDIALib);
DisableThreadLibraryCalls(hInstance);
} else if (dwReason == DLL_PROCESS_DETACH) {
if (g_pPlayer) delete g_pPlayer; // 加了这句就会内存出错
_Module.Term();
}
return TRUE;
}