Win 32 - VB, Ruby, Perl VS Python with fireEvent

Roger Upole rupole at hotmail.com
Thu Mar 24 00:57:07 EST 2005


I don't know why case would make a difference, but if I change
the fireevent call to FireEvent, it works on XP sp2.
It also works if you generate the makepy wrappers (probably
because that forces case-sensitivity)

     hth
         Roger

<calfdog at yahoo.com> wrote in message 
news:1111628957.852581.307520 at g14g2000cwa.googlegroups.com...
> Hello,
>
> I was wondering if anyone could tell me why fireEvent works in every
> language but Python with the latest Internet Explorer?
>
> I tried this page that has two listboxes if you select  Listbox A the
> Listbox B should change.
>
> The code status:
> Works fine with Python 2.3, 2.4 in Windows XPsp1
> DOES not work  Python 2.3, 2.4 XP Sp2 or the lastest IE
> Works fine with "RUBY" on Win 2000, XP sp1 and XP sp2
> Work fine with PERL on on Win 2000, XP sp1 and XP sp2
>
> Luckily I know both Ruby, VB and Perl so I could prove there was a
> problem.
>
> Here is the example code in both Python and Ruby:
>
> Python:
> from win32com.client import DispatchEx
> import time
>
>
>
>
> def wait(ie):
>    while ie.Busy: time.sleep(0.1)
>
>    doc = ie.Document
>    while doc.ReadyState != 'complete': time.sleep(0.1)
>
> ie = DispatchEx('InternetExplorer.Application')
> ie.Visible = 1
> ie.Navigate( 'https://enroll.ou.edu/' )
> wait(ie)
> ie.Document.forms[0].campus.value='200'
> ie.Document.forms[0].campus.fireevent('onchange')
>
> Results:
> Traceback (most recent call last):
>  File
> "C:\Python23\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py",
> line 310, in RunScript
>    exec codeObject in __main__.__dict__
>  File "C:\automation\poScript1.py", line 18, in ?
>    ie.Document.forms[0].campus.fireevent('onchange')
>  File "C:\Python23\lib\site-packages\win32com\client\dynamic.py", line
> 154, in __call__
>    return
> self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
> com_error: (-2147024891, 'Access is denied.', None, None)
>
>
>
>
>
> Ruby:
> # OU Registration & Enrollment Online
> require 'win32ole'
> ie = WIN32OLE.new('InternetExplorer.Application')
> ie.visible = true
> ie.gohome
> ie.navigate('https://enroll.ou.edu/')
> while ie.busy
> end
>
> READYSTATE_COMPLETE = 4
> until
>  ie.readyState == READYSTATE_COMPLETE
> end
> form = ie.document.forms(0)
> form.campus.value = '200'
> form.campus.fireevent('onchange')
>
> Results: fireEvent was successful and the second listbox was changed
> 




----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= East/West-Coast Server Farms - Total Privacy via Encryption =---



More information about the Python-list mailing list