>
> Yes, but there's a big difference between those.  With Launch and Open,
> you are working with the "o" object.  But with o.Test.Run(), you aren't
> working with "o", you are working with whatever object is returned from
> the Test property of "o".  That's a brand new object of a different
> type, and I'm guessing that's where the problem lies.
>
> Try printing o.Test to see what you get.  Then, try:
>    tst = o.Test
>    tst.Run()
>

The above fails with the same error. Printing o.Test produces the following:
o.Test
<COMObject <unknown>>

Printing o yields:
o
<COMObject b'QuickTest.Application'>

It looks like the Test object is not properly recognized but I've been able
to call other methods and properties of the Test object successfully without
passing "self".

o.Test.Stop()
o.Test.Save()
o.Test.SaveAs("abc")
o.Test.Close()
o.Test.Location
o.Test.Description


> You should not need to.  Self is always passed as the first parameter in
> any method invocation.  It is interesting that the property has the same
> name as the class itself.  That's a little disconcerting.  For example,
> **IF** o.Test were mapping to the class instead of being a property that
> returned an object, you might see the results you are seeing.
>
> It doesn't seem likely that o.Test is mapping to the class since other
methods are working.
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to