debug assertion faild的问题 编译通过了,但运行debug版本时,出现debug assertion failed!File:afxwin2.inlLine:713713行是什么问题?release版本就没问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 release下ASSERT不会执行,当然没问题你可以打开afxwin2.inl文件看看713的代码 恩~看看那个地方用到了assert~~实际上还是建议你单步执行看看什么地方出错了~~~ 常见的单步跟踪在可疑处F9,然后F5执行,可按F11进入一条语句的跟踪 m_cap.EnumDevices (m_ListCtrl);m_ListCtrl.SetCurSel(0);上面两名放在OnInitDialog里说m_ListCtrl.SetCurSel(0)有问题 是不是m_listCtrl里面没有内容.你试一下.因为有一处为假,所以系统才会通过ASSERT把错误信息提示出来 ,在Release,系统的ASSERT不执行,所以你看不到错误,并不是说没错误. int CCaptureVideo::EnumDevices(HWND hList){ if (!hList) return -1; int id = 0; //枚举视频扑捉设备 ICreateDevEnum *pCreateDevEnum; HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,IID_ICreateDevEnum, (void**)&pCreateDevEnum); if (hr != NOERROR)return -1; CComPtr<IEnumMoniker> pEm; hr = pCreateDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory,&pEm, 0); if (hr != NOERROR)return -1; pEm->Reset(); ULONG cFetched; IMoniker *pM; while(hr = pEm->Next(1, &pM, &cFetched), hr==S_OK) { IPropertyBag *pBag; hr = pM->BindToStorage(0, 0, IID_IPropertyBag, (void **)&pBag); if(SUCCEEDED(hr)) { VARIANT var; var.vt = VT_BSTR; hr = pBag->Read(L"FriendlyName", &var, NULL); if (hr == NOERROR) { TCHAR str[2048]; id++; WideCharToMultiByte(CP_ACP,0,var.bstrVal, -1, str, 2048, NULL, NULL); ::SendMessage(hList, CB_ADDSTRING, 0,(LPARAM)str); SysFreeString(var.bstrVal); } pBag->Release(); } pM->Release(); } return id;}上面是m_cap.EnumDevices (m_ListCtrl);的原形,我现在没有摄像头,所以没值,但我addstring了一个值也没用 到你的vc目录下 看你 你可以打开afxwin2.inl文件看看713的代码 肯定是代码的问题CListContrl那样写不对不信,你把那行给屏蔽了 找到这个文件File:afxwin2.inl使用uedit打开看看,第713行的,assert警告什么东西?说明:assert在debug版本下才出现的,rel下不执行该操做 File:afxwin2.inlLine:713这行是哪儿出错了 { ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, CB_SETCURSEL, nSelect, 0); } 大家觉得女士适合做程序么?不然你觉得应该做什么? VC 控制外围设备 关于CTreeView 子结点前图标的问题 高分求救,谢谢 求书配光盘上的代码 deletefile的问题 小问题送分。 《轻松实现类VC界面》的代码中具体如何实现m_wndMyBar1,m_wndMyBar2和View的通讯? 关于列表控件排序问题,100分赠送 菜鸟有难,大虾救命啊! 如何复制二进制文件? MFC中用Msscript.ocx控件调用Jcript脚本,如何实现AddObject。
你可以打开afxwin2.inl文件看看713的代码
看看那个地方用到了assert~~
实际上还是建议你单步执行看看什么地方出错了~~~
m_ListCtrl.SetCurSel(0);
上面两名放在OnInitDialog里
说m_ListCtrl.SetCurSel(0)有问题
因为有一处为假,所以系统才会通过ASSERT把错误信息提示出来 ,在Release,系统的ASSERT不执行,所以你看不到错误,并不是说没错误.
{
if (!hList)
return -1;
int id = 0;
//枚举视频扑捉设备
ICreateDevEnum *pCreateDevEnum;
HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,IID_ICreateDevEnum, (void**)&pCreateDevEnum);
if (hr != NOERROR)return -1;
CComPtr<IEnumMoniker> pEm;
hr = pCreateDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory,&pEm, 0);
if (hr != NOERROR)return -1;
pEm->Reset();
ULONG cFetched;
IMoniker *pM;
while(hr = pEm->Next(1, &pM, &cFetched), hr==S_OK)
{
IPropertyBag *pBag;
hr = pM->BindToStorage(0, 0, IID_IPropertyBag, (void **)&pBag);
if(SUCCEEDED(hr))
{
VARIANT var;
var.vt = VT_BSTR;
hr = pBag->Read(L"FriendlyName", &var, NULL);
if (hr == NOERROR)
{
TCHAR str[2048];
id++;
WideCharToMultiByte(CP_ACP,0,var.bstrVal, -1, str, 2048, NULL, NULL);
::SendMessage(hList, CB_ADDSTRING, 0,(LPARAM)str);
SysFreeString(var.bstrVal);
}
pBag->Release();
}
pM->Release();
} return id;}
上面是m_cap.EnumDevices (m_ListCtrl);的原形,我现在没有摄像头,所以没值,但我addstring了一个值也没用
CListContrl那样写不对不信,你把那行给屏蔽了
使用uedit打开看看,第713行的,assert警告什么东西?
说明:assert在debug版本下才出现的,rel下不执行该操做
Line:713
这行是哪儿出错了