win32com problem



I'm interacting with a third party application using python and com.
However having problems and don't know what to look at next to resolve
the issue.

The app. can be driven by VBS. The following VBS code works:

Set Synergy = CreateObject("synergy.Synergy")
Synergy.OpenProject "D:/temp/project.mpi"
Synergy.Project.OpenItemByName "test_bar_3d_6l_pc1", "Study"
Set Tet = Synergy.StudyDoc.GetFirstTet()
While Not Tet Is Nothing
Str = Tet.ConvertToString() + " "
Set Tet = Synergy.StudyDoc.GetNextTet(Tet)
MsgBox Str
WEnd

This prints "TE1" "TE2" etc


The "same" code in python returns <COMObject <unknown>> with each call
to the GetNextTet method.

import win32com.client
from win32com.client import Dispatch
Synergy = win32com.client.Dispatch("synergy.Synergy")
Synergy.OpenProject("D:/temp/project.mpi")
Synergy.Project.OpenItemByName("test_bar_3d_6l_pc1", "Study")
tet = Synergy.StudyDoc.GetFirstTet
while tet:
print str(tet)
tet = Synergy.StudyDoc.GetNextTet(tet)

Any clues on what I'm doing wrong, or how to investigate whether there
is a bug in win32com or in the third party apps com implementation.

.



Relevant Pages

  • Re: win32com problem
    ... Does late binding produce the same error? ... Set Synergy = CreateObject ... While Not Tet Is Nothing ... Set Tet = Synergy.StudyDoc.GetNextTet ...
    (comp.lang.python)
  • Re: win32com problem
    ... The app. ... The following VBS code works: ... While Not Tet Is Nothing ... Set Tet = Synergy.StudyDoc.GetNextTet ...
    (comp.lang.python)