Seite 1 von 1
ocx Datei
Verfasst: Mittwoch 22. Februar 2006, 15:26
von antimicro
Hi,
ich versuche gerade eine ocx Datei anzusteuern (sagt man das so?). Leider check ich die Doku von win32com nicht so richtig.
was sollte da stehen wo meine xxxx jetzt stehen?
Verfasst: Mittwoch 22. Februar 2006, 15:39
von antimicro
Ich habs rausbekommen...
war allerdings nicht ganz einfach:
- Testcontainer für ActiveX-Steuerelement von Microsoft aufrufen
- das Steuerelement auswählen
- Extras Objectkatalog OLE/COM (kommt man da auch einfacher ran?)
- bei mir dann Controls und das Steuerelement (bei mir TricoderUSB Control)
- in dem Feld ProgID
Verfasst: Mittwoch 22. Februar 2006, 16:49
von antimicro
allerdings bekomme ich nach dem Aufruf von
Code: Alles auswählen
import win32com.client
import array
fileBuffer = array.array("c"," "*200)
pfileBuffer = fileBuffer.buffer_info()[0]
driver = win32com.client.Dispatch("TrCdr.TrcdrUSB")
driver.GetDataFile(pfileBuffer,1)
folgenden Fehler:
File "C:\Python24\lib\site-packages\win32com\client\dynamic.py", line 79, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Ung\xfcltige Klassenzeichenfolge', None, None)
Verfasst: Freitag 24. Februar 2006, 11:48
von antimicro
Hi,
irgendwie komm ich schon wieder nicht weiter. Wie übergebe ich denn der Fkt. GetDataFile einen Zeiger auf den fileBuffer?
Irgendwo hab ich im Forum gelesen das Python Strings immer per call-by-reference übergibt und die Fkt. erwartet natürlich auch einen Zeiger.
Code: Alles auswählen
import win32com.client
import tricoder_wrapper
import array, ctypes
driver = win32com.client.Dispatch("TrCdr_USB.TrcdrUSB")
wrapper = tricoder_wrapper.ITrcdrUSB(driver)
fileBuffer = " "*3000
wrapper.GetDataFile(fileBuffer,-1)
Fehler
File "C:\Python24\lib\site-packages\win32com\client\__init__.py", line 446, in _ApplyTypes_
return self._get_good_object_(
com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, None, None, None, 0, -2147418113), None)