这个问题你很有可能不知道的,不信吗?

xufeiyunwindows 2003-04-10 01:10:08
下面这个函数是我从我写的组件源代码中COPY过来的,一个字都没少,而且可以正常的生成DLL文件,唯一的问题就是在我测试该组件里的各接口时,不管我怎么调用,都无条件的出现下面的提示性错误:
Unhandled exception in Project1.exe(KERNEL32.DLL):0xE06D7363:Microsoft C++ Exception.
然后我能做的唯一一件事就是,先乖乖的点击确定按钮,这后就进入了VC的Disaassmbly区域了,没办法,不管怎么样在下面的函数里设置断点,也不管用啊,我真的不知道这究竟会是什么错误,望高手或专家们指点指点啊

而且奇怪的是该组件里的所有接口函数都出现上面同一错误,连程序中设置的catch也抓不到啊,我很郁闷呀


STDMETHODIMP CUser::DeleteUserInfo(int x_nType,int x_UID, BSTR *x_Success)
{
try
{
// TODO: Add your implementation code here
if(FAILED(pConn.CreateInstance(__uuidof(Connection))))
{
*x_Success=::SysAllocString(L"Create Instance error when using DeleteUserInfo() function in userinfo.dll!");
return S_OK;
}
// if(FAILED(pConn->Open("Provider=MSDASQL.1;Password=;Persist Security Info=True;User ID=SA;Data Source=EXAM;Initial Catalog=EXAM;","","",-1)))
if (FAILED(pConn->Open("Provider=SQLOLEDB.1; Data Source=WIN2K; User ID=sa; pwd=;Initial Catalog=EXAM;","","",-1)))
{
*x_Success=::SysAllocString(L"Open Connection error when using DeleteUserInfo() function in userinfo.dll!");
return S_OK;
}
CComBSTR m_bstrSQL;
char m_charUID[10];
_itoa(x_UID,m_charUID,10);
//根据不同的用户类型(老师或学生)产生相应的DELETE SQL 语句
switch(x_nType)
{
case 0:
m_bstrSQL.Append("delete STUDENTACCOUNT where SID=");
break;
case 1:
m_bstrSQL.Append("delete TEACHERACCOUNT where TID=");
break;
default:
*x_Success=::SysAllocString(L"type does not exist when using DeleteUserInfo() function in userinfo.dll!");
return S_OK;
}
m_bstrSQL.Append(m_charUID);
_bstr_t m_bstrResult(m_bstrSQL,FALSE);
CComVariant m_varNum;
pConn->Execute(m_bstrResult,&m_varNum,-1);
if(m_varNum.lVal!=1)
{
*x_Success=::SysAllocString(L"delete operation doesn't succeed when using DeleteUserInfo() function in userinfo.dll!");
return S_OK;
}
else
*x_Success=::SysAllocString(L"Delete Successfully!");
pConn->Close();
return S_OK;
}
catch(...)
{
*x_Success=::SysAllocString(L"Other Errors!");
return S_OK;
}
}


郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷郁闷
...全文
36 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
winphoenix 2003-04-10
  • 打赏
  • 举报
回复
我不知道^_^
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
终于找到错了
是try出问题了
怎么解决啊?
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
更奇怪的是,该组件内的任何一个函数都出现同一问题
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
我是菜鸟啊,应该初使化了的吧
那也是自动的啊
天限天空 2003-04-10
  • 打赏
  • 举报
回复
另外 com 初始化 没有
天限天空 2003-04-10
  • 打赏
  • 举报
回复
接口一开始就设置断点啊

另外在有可能要 析够 的地方设置断点
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
不是的
我也没有用到字符数组的
总觉得在调用的那个函数里设置断点外,还要在执行这个函数之前再设置一下,又不知该在哪设置,也不知这对不对
天限天空 2003-04-10
  • 打赏
  • 举报
回复
记住 要在组件中调试

天限天空 2003-04-10
  • 打赏
  • 举报
回复
另外看看
是不是 char[]
大小设置小了
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
可现在是跟本就不能进入到我调用的那个函数里执行,就报错了
会是什么原因呢?
天限天空 2003-04-10
  • 打赏
  • 举报
回复
在组件的释放的地方设置断点,看看是不是这里出了错误
先试一试吧
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
stronerman(锰男)你好,我机子是觉没有中任何病毒的,而且我在调试其他的组件时,都能正常工作的呀,这我就不知道了是会是什么原因的啊
try 了,也 catch不到的,哎呀

真郁闷死了啊

现在就差那一个组件没有调试成功,搞得人都没劲啊
jackingod 2003-04-10
  • 打赏
  • 举报
回复
up
strongerman 2003-04-10
  • 打赏
  • 举报
回复

:)会不会你的机子有病毒,已经损坏了KERNEL32.DLL

我以前就试过(蠕虫病毒什么的)。
librastar2001 2003-04-10
  • 打赏
  • 举报
回复
Up
AlexHoo 2003-04-10
  • 打赏
  • 举报
回复
up
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
有人接着UP一下吗?
xufeiyunwindows 2003-04-10
  • 打赏
  • 举报
回复
zangyong(晶晶)你好还要连接到远程服务器的,不过你可以到
ftp://issue:issue@xufeiyun.vicp.net/user/UserInfo.rar
下载,我的源代码都在压缩包里了,我也给你发了邮件了

感谢Phourm() 朋友的解答,代码是全部正确的,而且之前有几次我也调试成功过,就后来不知怎地就一直出现那样的问题,总得不到解决的
zangyong 2003-04-10
  • 打赏
  • 举报
回复
程序发过来给我瞧瞧

zangjing5257@163.com
Phourm 2003-04-10
  • 打赏
  • 举报
回复
首先要确定是那里出了问题!如果你怀疑是上面的代码有问题,那么你就删除如果注释掉,看看有没有问题,如果确定是这个的问题,再看看是哪行,如果不能确定是哪行就一段段注释,直到找到有问题的代码,如果所有的代码没有问题我想你应该看看你的全局,函数内或者static的变量如:char msg[100000],BYTE buf[0x300000]象这样的大数组,因为栈里的内存分配有限制,你应该用NEW来做。
加载更多回复(1)

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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