Hello, I'm wondering how to call a function of an activex control with more the 8 parameters. Regarding the Qt doc the QAxBase->dynamicCall() can be called in two ways, with at max 8 separate parameters or with a list of variable length.
Using dynamicCall from python only seems to work when specifying all parameters separately, only usefull for less or equal 8 parameters. Can someone confirm that using the "parameters-as-list calling convention" is not wrapped into python? Or is there some special indication needed to have it that way? Thanks for any hints... Regards, Frank Attached some lines of code illustrating the situation: import sys from PyQt4 import QAxContainer from PyQt4.QtCore import QVariant from PyQt4.QtGui import QMainWindow, QApplication class MainWindow(QMainWindow): def __init__(self): QMainWindow.__init__(self) axc = QAxContainer.QAxWidget(self) self.setCentralWidget(axc) axc.setControl('{8856F961-340A-11D0-A96B-00C04FD705A2}') # Webbrowser params = [QVariant(x) for x in ("www.google.com", 0, "", "", "")] # following line works as "*params" is identical to "params[0], params[1], params[2], params[3], params[4]" axc.dynamicCall("Navigate(QString, QVariant&, QVariant&, QVariant&, QVariant&)", *params) # this one does does not work in the sense, that the browser control only shows the typical "site cannot be displayed" message axc.dynamicCall("Navigate(QString, QVariant&, QVariant&, QVariant&, QVariant&)", params) app = QApplication(sys.argv) window = MainWindow() window.show() app.exec_() _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt