<p class="MsoNormal"><span style="" lang="EN-US">Hello,</span></p><p class="MsoNormal"><span style="" lang="EN-US"><br></span></p><p class="MsoNormal"><span style="" lang="EN-US">I am trying
to use the QAxContainer module with PyQt in order to control a microscope via a
COM API. But I have a problem for passing variables: there are in the API a Set
method used to put values in the microscope, and a Get method used to retrieve
values. It seems that QAxContainer try to pass variable by reference, and
this doesn’t work with python:</span></p><br><p class="MsoNormal">API = QAxContainer.QAxObject(ProgID_EMAPI)</p><p class="MsoNormal">API.dynamicCall('Initialise(QString)', "")<br>API.dynamicCall('Set(QString, QVariant&)', "AP_MAG", QtCore.QVariant("9000"))    # It’s OK: AP_MAG is set to 9000 in the microscope<br>
value = QtCore.QVariant("")<br>API.dynamicCall('Get(QString, QVariant&)', "AP_MAG", value)    # Doesn’work !!! I don’t find how to retrieve the AP_MAG value<br></p><p class="MsoNormal"><br>
</p><p class="MsoNormal">

</p><p class="MsoNormal"><span style="" lang="EN-US">On the other
hand, everything works well with the win32com module which passes variable as
the result of a function:</span></p>

<p class="MsoNormal"><br>API = win32com.client.Dispatch(ProgID_EMAPI)<br>API.Initialise("")<br>API.Set("AP_MAG", "9000")    # OK : AP_MAG is set to 9000<br>error, value = API.Get("AP_MAG", True)    # OK : get the AP_MAG in value<br>
</p><p class="MsoNormal"><br><span style="" lang="EN-US"></span></p><p class="MsoNormal">

</p><p class="MsoNormal"><span style="" lang="EN-US">Does anybody
have an idea how to make the QAxContainer example working?</span></p><p class="MsoNormal"><br><span style="" lang="EN-US"></span></p><p class="MsoNormal"><span style="" lang="EN-US">PH<br></span></p>