Re: [python-win32] DispatchWithEvents

2011-05-05 Thread Mark Hammond
On 5/05/2011 5:49 PM, Michael Illgner wrote: I just took a look at the registry, the InprocServer32 key of my COM component has an entry ThreadingModel with value "both". So I if create the COM objects in the main thread and the socket server starts a new thread for every incoming request (socket

Re: [python-win32] DispatchWithEvents

2011-05-05 Thread Michael Illgner
2011/5/5 Mark Hammond : > [re-added the mailing list - please keep everything there] > Sorry, my fault > On 4/05/2011 6:09 PM, Michael Illgner wrote: >> >> 2011/5/4 Mark Hammond: >>> > The question is more about the object xyz.xyz - if it is marked in the > registry and either free-threading or "bo

Re: [python-win32] DispatchWithEvents

2011-05-04 Thread Mark Hammond
[re-added the mailing list - please keep everything there] On 4/05/2011 6:09 PM, Michael Illgner wrote: 2011/5/4 Mark Hammond: On 4/05/2011 12:39 AM, Michael Illgner wrote: If everything is happening in a free-threaded context though, no message loop is generally required. my server "arc

Re: [python-win32] DispatchWithEvents

2011-05-03 Thread Mark Hammond
On 4/05/2011 12:39 AM, Michael Illgner wrote: 2011/5/3 Mark Hammond: There is nothing magic about events - you need to provide your own magic :) All the calls are still normal blocking calls - so if you want a model where methods on your com object are done in the background and fire when com

Re: [python-win32] DispatchWithEvents

2011-05-03 Thread Michael Illgner
2011/5/3 Mark Hammond : > There is nothing magic about events - you need to provide your own magic :) >  All the calls are still normal blocking calls - so if you want a model > where methods on your com object are done in the background and fire when > complete, you need to fully arrange for howe

Re: [python-win32] DispatchWithEvents

2011-05-03 Thread Mark Hammond
On 3/05/2011 9:15 PM, Michael Illgner wrote: Hi I have got some questions regarding win32com.client.DispatchEventWithEvents() Is there any documentation available for this method? Only the docstring. I am writing a kind for a network proxy for a custom COM api. and I am using a simple socket

Re: [python-win32] DispatchWithEvents design question

2007-06-10 Thread Richard Bell
My apologies if this has already been sent but I did not receive a post acknowledgement. |Tim, | |Thanks again. Your assistance has been extremely helpful. | |I've modified the test routine to illustrate the substance of our exchange |and am posting it by way of giving something back to the grou

Re: [python-win32] DispatchWithEvents design question

2007-06-09 Thread Richard Bell
Tim, Thanks again. Your assistance has been extremely helpful. I've modified the test routine to illustrate the substance of our exchange and am posting it by way of giving something back to the group and in the off chance that it may prove useful to others. BTW, I'm still a bit concerned abo

Re: [python-win32] DispatchWithEvents design question

2007-06-07 Thread Mark Hammond
> BTW, my offer of an example still stands and I think I may > finally have > enough of an understanding to post something if it would be helpful to > others. That would be most welcome - I'd be happy to include in pywin32 and obviously you could put if anywhere else that takes your fancy... Chee

Re: [python-win32] DispatchWithEvents design question

2007-06-07 Thread Tim Roberts
Richard Bell wrote: > Is it then the case that my OnEvent routines should only execute under one > of the following conditions? > > 1 - I interact with the COM target as in ie.Visible = 1 or ie.Navigate2 > 2 - I execute a pythoncom.PumpWaitingMessages > I believe this to be true. You are apart

Re: [python-win32] DispatchWithEvents design question

2007-06-07 Thread Richard Bell
Tim Roberts wrote |It's quite possible for a single callback to happen both synchronously |and asynchronously, depending on context. In this case, IE probably |considers the StatusBar to be one of its "commands", so the |OnCommandStateChange makes some sense. Is it then the case that my OnEvent r

Re: [python-win32] DispatchWithEvents design question

2007-06-07 Thread Tim Roberts
Richard Bell wrote: > I rewrote the test, see below. When run it behaves as you suggest (see the > test output below). In particular the OnVisible event occurs synchronously > before return from 'ie.Visible = 1' as you suggested. I checked StatusBar > and it appears to be synchronous as well. I

Re: [python-win32] DispatchWithEvents design question

2007-06-07 Thread Richard Bell
Tim Roberts wrote |These are synchronous events. That is, these events are generated |directly by the requests you made. I believe you will find that the |"OnVisible" callback occurs before "ie.Visible = 1" returns. It's being |handled by that same thread, which is suspended waiting for IE to

Re: [python-win32] DispatchWithEvents design question

2007-06-06 Thread Tim Roberts
Richard Bell wrote: > Here is some example code: > > --- code --- > # test events WITHOUT a message pump > import win32com.client > > class events(): > def OnVisible(self, vis): > print 'OnVisible is:', vis > def OnBeforeNavigate2(self,pDisp,url,flags, > ta

Re: [python-win32] DispatchWithEvents design question

2007-06-06 Thread Richard Bell
Thanks Tim and Mark. I appreciate your help. BTW Mark, I'm the same Richard Bell you helped in this area about a year ago and worked on the IE examples in the current distribution. Tim Roberts wrote |Yes, that's right. I didn't see your earlier post. When did you send |that? It was sent on

Re: [python-win32] DispatchWithEvents design question

2007-06-05 Thread Mark Hammond
> In casting around for a solution I poked into the code for > DispatchWithEvents. If I understand it correctly, it is > possible to include > IE automation methods as part of the event class something like this: > > class Yie: > --- class variables --- > def __init__(self): > ---

Re: [python-win32] DispatchWithEvents design question

2007-06-05 Thread Richard Bell
Thanks Tim. If PumpWaitingMessages is queued AND messages can only occur when PumpWaitingMessages is called, then Questions 2 and 3 are resolved since absent the call to PumpWaitingMessages events can not occur. I am still a bit concerned, however, because of an experiment I ran several days

Re: [python-win32] DispatchWithEvents design question

2007-06-05 Thread Tim Roberts
Richard Bell wrote: > Question 3: Does PumpWaitingMessages insure that at MOST one message/event > is pumped such that reentrancy is not an issue? > I can't answer the other two questions, but I can answer this one, definitively yes. A Windows message queue is associated with a single thread o

Re: [python-win32] DispatchWithEvents and ADO

2006-03-08 Thread Mark Hammond
Oops - that last mail snuck away from me! Enabling "debug mode" for event handlers is tricky - you probably could open the makepy generated file and locate the function in the events class: def _query_interface_(self, iid): import win32com.server.util if ii

Re: [python-win32] DispatchWithEvents and ADO

2006-03-08 Thread Mark Hammond
> include DispatchWithEvents both the Execute() and > Close() methods no longer work for my Dispatch object, > with a "Member not found" error appearing. Why does > Execute and Close work with Dispatch by itself but not > when DispatchWithEvents is added? > > What I find interesting is that both th

Re: [python-win32] DispatchWithEvents call

2004-12-14 Thread Neil Benn
Neil Benn wrote: Hello, I'm trying to use win32com to access a COM object with Events. After some searching I discovered the call to win32com.client.DispatchWithEvent can be used - passing a class with the method signatures for each event for thrown by the ActiveX component.