[python-win32] win32com: ServerBusy message (original) (raw)

Mark Hammond mhammond at skippinet.com.au
Wed Jan 30 02:03:25 CET 2008


If by "command-line window" you mean the interactive prompt in pythonwin, IDLE or any other GUI environment, the problem will likely be the lack of a "message pump" (google for that, particularly on this list). Although if "command-line window" means running python.exe from a command-prompt and entering the commands there, I've no idea why it would work interactively but fail when run by python.exe as a script.

Hope this helps,

Mark

From: python-win32-bounces at python.org [mailto:python-win32-bounces at python.org] On Behalf Of mauro tizianel Sent: Wednesday, 30 January 2008 4:09 AM To: python-win32 at python.org Subject: [python-win32] win32com: ServerBusy message

Hi list,

I am calling a method on a COM server within a python script. The method takes a long time to return ( > 15s) and I am getting a "Server Busy" popup message "This action cannot be completed because the program is busy." To continue the user has to click ( "Switch to..." or "Retry").

Typing in the command-line window:

from win32com.client import Dispatch myComObj = Dispatch("myApp.Application") anotherComObj = myComObj.method() res = anotherComObj.thisIsAVeryLongOperation()

everything works fine (no popup message, thisIsAVeryLongOperation returning without user interaction) but if I put it into a file and run it as a script the message appears: why?

I tried to get rid of the popup with the solution proposed in http://mail.python.org/pipermail/python-win32/2006-August/004923.html

import win32ui import win32uiole from win32com.client import Dispatch

win32uiole.AfxOleInit() win32uiole.SetMessagePendingDelay(aBigDelay); win32uiole.EnableNotRespondingDialog(False); win32uiole.EnableBusyDialog(False);

myComObj = Dispatch("myApp.Application") anotherComObj = myComObj.method() res = anotherComObj.thisIsAVeryLongOperation()

without any effect.

pythoncom.CoInitialize() should also work, as suggested in http://support.microsoft.com/?scid=kb%3Ben-us%3B248019 <http://support.microsoft.com/?scid=kb%3Ben-us%3B248019&x=14&y=15> &x=14&y=15, but again no positive effect.

I was now looking for something like (http://support.microsoft.com/kb/240809/en-us): OLERequestPendingTimeout to turn off the messages, but it seems not to be available in pywin32.

By the way, I am running:

Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] pywin32-210.win32-py2.4 WinXP SP2

Thanks in advance. Any suggestion is welcome!

Mauro

-------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-win32/attachments/20080130/77100265/attachment.htm



More information about the python-win32 mailing list