Server Busy dialog

K

komyak

System: Windows XP pro, version 2002, service pack 2

My application uses out-of-proc atl server for doing some jobs.
This may take a time, sometimes up to 10 s.
The problem is: for for these "long" waitings popup dialog appears:

"Server busy. This action cannot be completed bacause the other
program is busy.
Choose 'Switch To' too activate the busy program and coorect the
problem.
'Switch To' 'Retry'".

The logic inside server is always the same, regardless long or short
jobs.

Any ideas how to avoid the problem or tune wait time for
client <-> server communication?

Thank you
Alexandre
 
T

Tom Porterfield

System: Windows XP pro, version 2002, service pack 2

My application uses out-of-proc atl server for doing some jobs.
This may take a time, sometimes up to 10 s.
The problem is: for for these "long" waitings popup dialog appears:

"Server busy. This action cannot be completed bacause the other
program is busy.
Choose 'Switch To' too activate the busy program and coorect the
problem.
'Switch To' 'Retry'".

The logic inside server is always the same, regardless long or short
jobs.

Any ideas how to avoid the problem or tune wait time for
client <-> server communication?

What language and technology is your application written in? For example,
is it C++ using MFC?
 
T

Tom Porterfield

avk said:
Yes. C++ & MFC

Then the following code in the InitInstance of your app should suppress
those:

COleMessageFilter* MsgFilter = NULL ;
MsgFilter = AfxOleGetMessageFilter();
if (MsgFilter)
{
MsgFilter->EnableBusyDialog(FALSE);
MsgFilter->EnableNotRespondingDialog(FALSE);
}
 
A

avk

Then the following code in the InitInstance of your app should suppress
those:

COleMessageFilter* MsgFilter = NULL ;
MsgFilter = AfxOleGetMessageFilter();
if (MsgFilter)
{
MsgFilter->EnableBusyDialog(FALSE);
MsgFilter->EnableNotRespondingDialog(FALSE);}


Yes. Thank you.
But, to make it really work we should do like this:

MsgFilter = AfxOleGetMessageFilter();
if (MsgFilter)
{
MsgFilter->Revoke();
MsgFilter->EnableBusyDialog(FALSE);
MsgFilter->EnableNotRespondingDialog(FALSE);
MsgFilter->Register();
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top