VC中处理总是弹出server busy对话框的方法

在编程过程中,总是会遇见弹出题为server busy的对话框,特别是在程序中加入了com组件,这种情况就更加频繁。以下几句代码就能轻松解决。

AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); 
  AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);   
  AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);   
  AfxOleGetMessageFilter()->SetMessagePendingDelay((DWORD)-1);

最好用在初始化了com组件之后就是用进行设置,如我在工程中加入excel组件了,以下是我的代码,顺利通过。

LO ret = E_ERR;
 ::CoInitialize(0);
 if (pXL != NULL)
 {
  pXL = NULL;
 }
 HRESULT hr = pXL.CreateInstance("Excel.Application");
 if (SUCCEEDED(hr))
 {
  //pXL->Visible[0] = VARIANT_TRUE; 
  pXL->Visible[0] = VARIANT_FALSE;
  pXL->DisplayAlerts[0] = VARIANT_FALSE;
  AfxOleGetMessageFilter()->EnableBusyDialog(FALSE); 
  AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);   
  AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);   
  AfxOleGetMessageFilter()->SetMessagePendingDelay((DWORD)-1);
  ret =  E_OK;
 }
 else
 {
  ret = E_ERR;
 }
 return ret;

时间: 2024-10-14 19:47:19

VC中处理总是弹出server busy对话框的方法的相关文章

VC点击按键弹出文件路径选择对话框

void CServerDlg::OnBnClickedButtonSavePath() { CString str; BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO));     //作用为给所有参数都设为0,即NULL bi.hwndOwner = GetSafeHwnd();   //bi.hwndOwner = m_hWnd; bi.pidlRoot = NULL;    //设置开始搜索位置,为NULL默认从the desktop fo

<转>Android开发使输入框点击弹出日期选择对话框的方法

非常简单直接上代码: 转自:http://blog.sina.com.cn/s/blog_4ac1b5f60102vgnx.html final EditText et1=(EditText)findViewById(R.id.editText1); final Calendar c = Calendar.getInstance(); et1.setOnClickListener(new View.OnClickListener() { @Override public void onClick

asp.net中的窗口弹出实现,包括分支窗口 . ASP.NET返回上一页面实现方法总结 .

返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改或者更新时用的,或者是因为网站为了方便浏览者而有心添加的一个东东,一般这种功能的实现在ASP.NET中都是用一个Button控件来实现的,实现的方法有很多,今天恰好在做项目时碰到要用这个东东,我就把能实现" 返回上一页","返回前一页"的几种方法总结了一下,供大家学习之用,请多多指教: 其实要实现这个功能主要还是要用到javascript脚本语言! 方法一: 在asp.

bootstrap中popover.js(弹出框)使用总结+案例

bootstrap中popover.js(弹出框)使用总结+案例 *bootstrap官方说明:http://v3.bootcss.com/javascript/#popovers 一. popover常用配置参数: 1 //常用配置参数: 2 $(document).ready(function() { 3 $('#temp').popover( 4 { 5 trigger:'click', //触发方式 6 template: '', //你自定义的模板 7 title:"标题",

android中常用的弹出提示框

转自:http://blog.csdn.net/centralperk/article/details/7493731 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有

android 中在activity弹出一个对话框,并不会执行onpause生命周期方法

在实际的应用开发中,我们可能会在onResume中进行网络交互,在网络交互的过程中免不了使用Progressdialog,那么现在问题来了,在我们弹出一个进度对话框的时候如果我们的activity的onpause生命方法得到执行,然后在数据加载完毕,对话框进行消失的时候,activity的onResume再次得到执行,然后再次请求网络,这样一个恶性循环就开始了,这样的错误实在是太严重了,当然了上面只是在我的想象之中,然后就用代码实验了下,在弹出一个对话框的时候我们activity的onpause

网页中删除数据弹出提示框

当点击删除时,弹出提示的对话框,点击确定就跳转到处理页面,点击取消不跳转 代码: <!--删除时出现对话框提示--> <!--<a href="delete.php" onclick="return confirm('确定删除吗?');">删除</a>--> 效果:

JS弹出框、对话框、提示框,JS关闭窗口、关闭页面和JS控制页面跳转

一.JS弹出框.对话框.提示框 //====================== JS最常用三种弹出对话框 ======================== //1弹出对话框并输出一段提示信息 function ale() { //弹出一个对话框 alert("提示信息!"); } //2弹出一个询问框,有确定和取消按钮 function firm() { //利用对话框返回的值 (true 或者 false) if (confirm("你确定提交吗?")) { a

win7,M?i?n?d?m?a?n?a?g?e?r?2?0?1?2使用模板时弹出Runtime error R6025解决方法

Mindjet.MindManager2012.v10.0在应用个别模板时提示"参数错误",然后自动关闭. 解决办法: 如果是win7系统,可以进入C:\Users\(用户名)\AppData\Local\Mindjet\MindManager\10\Library\ENU\Templates, 可以看到如下模板:Management/Meetings and Events/Personal Productivity/Problem Solving/Project Management