Per Ref in Python an einen COM sendenPython

Python-Programme
Anonymous
 Per Ref in Python an einen COM senden

Post by Anonymous »

Ich versuche, per Ref ein Array von Floats (oder Strings) zu senden, erhalte aber eine Fehlermeldung, die besagt, dass das Element send kein ctypes sein kann, sondern ein reales Element sein muss.
Das ist der Code:

Code: Select all

import win32com.client
import ctypes

pulse = win32com.client.Dispatch("Pulse.Labshop.Application")

def SaveMeasurement():
FunctionO = pulse.Application.Project.FunctionOrganiser
FunctionG = FunctionO.FunctionGroups("Test1")
Function = FunctionG.Functions("Test2")
MyFunction = Function.FunctionData
Entries = MyFunction.NumberOfXAxisEntries
entries_ref = (ctypes.c_float * Entries)(*range(Entries))

MyFunction.Frequencies(ctypes.byref(entries_ref))

SaveMeasurement()
Ich erhalte diesen TypeError: muss eine echte Zahl sein, nicht _ctypes.CARgObject
Die Funktion funktioniert auf VBA und ich probiere es auch aus C#, aber ich erhalte eine Fehlermeldung bei:

Code: Select all

FunctionO.FunctionGroups("Test1")
Die DLL ist ein COM-Objekt, das in der PulseLabShop-Software verwendet wird. Die Verwendung von VBA ermöglicht die Kommunikation mit einer Anwendung. Die DLL hat keine weitere Dokumentation als die, die durch dir der Klasse abgerufen werden kann.
Die Hauptfrage ist jedoch, ob es möglich ist, byref irgendwie ein Array und nicht ein Ctypes-Array zu senden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post