我想利用Outlook Automation生成ActiveX控件取得Outlook上的信息,目前的代码是:
if (!olApp.CreateDispatch("Outlook.Application", &e))
{
}
NameSpace olNs(olApp.GetNamespace("MAPI"));
....但是当多个做好的控件并行运行时(比如在同一页面配置多个该控件,然后刷新),会出现outlook错误--{"0x77fcca16"的命令参照了"0x3a478374"的内存,该内存不能写操作...}
个人感觉是并行运行时有Outlook Automation冲突,联想到olApp.CreateDispatch的语句,觉得并行时如果olApp被创建了,系统应该自动让其他同类操作停止,并利用已经创建的olApp,但是现在的情况估计是并行的每个控件都要做olApp.CreateDispatch不知对于这样的处理有没有什么更好的办法,例如在做olApp.CreateDispatch前先检查一下该Dispatch接口是否已经生成。另外,不知上面的outlook错误到底是由什么引起的?急切等待各位高手的指教!!
if (!olApp.CreateDispatch("Outlook.Application", &e))
{
}
NameSpace olNs(olApp.GetNamespace("MAPI"));
....但是当多个做好的控件并行运行时(比如在同一页面配置多个该控件,然后刷新),会出现outlook错误--{"0x77fcca16"的命令参照了"0x3a478374"的内存,该内存不能写操作...}
个人感觉是并行运行时有Outlook Automation冲突,联想到olApp.CreateDispatch的语句,觉得并行时如果olApp被创建了,系统应该自动让其他同类操作停止,并利用已经创建的olApp,但是现在的情况估计是并行的每个控件都要做olApp.CreateDispatch不知对于这样的处理有没有什么更好的办法,例如在做olApp.CreateDispatch前先检查一下该Dispatch接口是否已经生成。另外,不知上面的outlook错误到底是由什么引起的?急切等待各位高手的指教!!
解决方案 »
- import大问题!!!!!求解答!!!
- HTTP GET请求 SendRequest抛出异常?
- MFC编程和windows应用程序有什么区别
- MFC高手请进
- 近期的3大编程比赛,哪一个比较好?
- MS H263压缩的问题
- 在ListCtrl中如何锁定列???
- 如何写DirectShow 的Transform Filter???
- 请问赛得尔迭代法实是怎么计算的?
- VC insert into数据到SQL数据库,timestamp,uniqueidentifier(UUID)和decimal(23, 10)数据怎么初始化?
- CTab 控件的问题 回复就给分
- (300分)紧急,想要生成类似股票显示那样的二维曲线,有何好办法,请给简单例子,分不够再加,谢谢!
因为是多个控件并行时出的错,而且没有规律,所以不好Debug,曾经尝试用一个压力测试的软件来模拟并行环境,但是到了那里又不出错了。
不管怎样debug,主要是想从机制上防止冲突,不知底层是否有相应处理机制。
希望做过类似项目的高手发表意见。
CComQIPtr <_Application> spApp(Application);
...