服务器正在运行中,由于另一个程序正在运行中,此操作无法完成。
写了个将word转换为bmp的程序,搞了很久了,
有时候会出错,提示:
服务器正在运行中
由于另一个程序正在运行中,此操作无法完成。
受不了了。
源码在:
http://hzsrc.ctfs.ftn.qq.com/ftn_handler/4084f1eb68543c08954222073c857e51ea5c1c4a1c1847fec2bb5de7a91d7382d76c85459bb095579159823f3d0d5b5aeff18a58107e62a13283ac25f2c189b3/?fname=%E5%B0%86word%E4%BF%9D%E5%AD%98%E6%88%90%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90.zip&k=64613734166bcf993be21d13133403490f050552025655001a5551060d19055554071a560455574b5402000d0307550204570005352a31db9c165846518592d2d1d2fef989f29dd3f3b38c8cc3f4ccb1e44f4d5d45340c&fr=00&&txf_fid=c8f97f61e26bb6d6c7d1086a66d9256f22c8feb1&xffz=106717
对于进程外的com,没有法子解决这个问题吗,这个问题有时候会出现,有时候不会出现
是在无法解决了。
代码再:
void CMyDialog::OnBnClickedButton1()里面
[解决办法]
/*屏蔽掉"服务器正在运行中"要选择"切换到..."或"重试"的对话框*/
AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);
AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);
AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);
AfxOleGetMessageFilter()->SetMessagePendingDelay(-1);
[解决办法]
注意以下代码顺序 在我电脑上面,测试20次,没有问题
objWordApp.Quit(
ovFalse, // 保存修改
ovTrue, // 原始格式
ovFalse // RouteDocument.
);
objNewDoc.ReleaseDispatch();
objDoc.ReleaseDispatch();
objDocs.ReleaseDispatch();