Jan Ploski/BI/Offis schrieb am 11.07.2005 12:59:14: [EMAIL PROTECTED] schrieb am 11.07. 2005 11:41:02:
> Здравствуйте Jan, > > Monday, July 11, 2005, 12:10:32 PM, Вы написали: > > JP> [EMAIL PROTECTED] schrieb am 08.07.2005 > JP> 20:40:56: > > >> Hello, > >> > >> I am unable to get Win32::OLE::QuitMessageLoop working consistently: > >> sometimes it causes a prior Win32::OLE::MessageLoop call to terminate, > >> sometimes it does not. > > JP> Responding to myself and thinking out loud: > > JP> I compiled a debug version of OLE.dll to see what is going on under the > JP> hood. > JP> With respect to debug output, there is not much else to add to my previous > JP> message: the PostThreadMessage call in Initialize(...) returns success, > JP> yet the GetMessage-while-loop a few lines above does not receive the > JP> message. > > JP> I found this tip, which seems related: http://www.devx. com/tips/Tip/14720 > > JP> My working hypothesis is that the thread to which PostThreadMessage > JP> is posted is also the same thread which created the MSIE browser window, > JP> and that there is a second message loop somewhere which (sometimes) > JP> consumes the posted event. > > JP> Perhaps someone could comment if the above sounds plausible and, if yes, > JP> what alternate mechanism I could use in OLE.dll to reliably break out > JP> of the MessageLoop? > > It's just a thought. Why did You think that error in in perl > module? I've read your problem description and thought that the > problem may be the fact that DocumentComplete event doesn't occur. > I'm not familiar with object model You deal with but OLE.pm is > general purpose module and its aim is establish and maintain data > exchange between client and server(s). On my opinion it's very > doubtful that your problem is caused with bug in this module. Hello, thanks for replying. Your guess is what I thought exactly before I have collected enough debugging output to become sure that all events are reported as expected. Moreover, I have hacked OLE.xs (the C part of Win32::OLE's implementation) to use a boolean flag in addition to the PostThreadMessage notification. It seems to have fixed my problems (though I still need to check it on another PC). Also note that there is a remark in Win32::OLE's documentation that support for OLE events should be considered experimental, which further increases my confidence that it is indeed an unresolved issue. Of course, the final judgement is up to Win32::OLE's developers. Best regards - Jan Ploski _______________________________________________ Perl-Win32-Users mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
