我这程序为什么能编译,却运行有异常??

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:59:25
/*运行环境是VC6.0*/
#import "c:\\program files\\common files\\system\\ado\\msado15.dll" no_namespace
#import <cdosys.dll> no_namespace

void main()
{
IMessagePtr iMsg(__uuidof(Message));
iMsg->From = "**@tns-global.com";
iMsg->To = "**@qq.com";
iMsg->Subject = "subject";
iMsg->TextBody = "body";
iMsg->Send();
}
/*
在IMessagePtr iMsg(__uuidof(Message));这句就抛出异常了!
*/
可以说明白点吗?~不太熟悉~帖上点代码吧~谢谢
我做像你说的修改后,他却在:iMsg->Send(); 里报异常了,其实你知道IMessagePtr的用法吗??

嘛嘛,使用ole前记得调用

CoInitialize

另外,我一般是调用CreateInstance创建实例的~~~

最后,用完记得调用CoUninitialize
=====================
例如你的例子中,你试试这样做:

void main()
{
CoInitialize(NULL);
IMessagePtr iMsg(__uuidof(Message));
iMsg->From = "**@tns-global.com";
iMsg->To = "**@qq.com";
iMsg->Subject = "subject";
iMsg->TextBody = "body";
iMsg->Send();
CoUninitialize();
}

如果还是报
IMessagePtr iMsg(__uuidof(Message));
出错就用
IMessagePtr iMsg;
iMsg.CreateInstance(__uuidof(Message));
代替
==========================================
没用过IMessagePtr啊~~估计你得查清楚它的使用了,反正现在问题只是在IMessagePtr的使用上面了~~