PythonNET - Abruf eines Klassenattributes schlägt fehl
Verfasst: Dienstag 5. Mai 2020, 17:22
Guten Abend,
seit neulich arbeite ich mit PythonNet, um eine .NET DLL API zu benutzen.
Es war anfänglich etwas schwer die API zu verstehen,zu Mal ich nicht bemerkt habe, dass deren XML Dok hilfreicher ist als deren Textdatei, aber hat letztendlich geklappt.
Problem ist nur, dass es beim Aufruf eines Klassenattributes scheitert.
Zunächst ersteinmal den Code...
Und der Fehlercode...
Ich habe viel recherchiert, aber nichts brachte mich weiter.
Wenn ich etwas von den aufgerufenen Instanzen abfrage, funktioniert es, nur nicht bei der nur erstellten, also ohne Konstruktor.
Wo besteht also nun das Problem und wie/kann man das lösen?
Grüße,
xXSkyWalkerXx1
seit neulich arbeite ich mit PythonNet, um eine .NET DLL API zu benutzen.
Es war anfänglich etwas schwer die API zu verstehen,zu Mal ich nicht bemerkt habe, dass deren XML Dok hilfreicher ist als deren Textdatei, aber hat letztendlich geklappt.
Problem ist nur, dass es beim Aufruf eines Klassenattributes scheitert.
Zunächst ersteinmal den Code...
Code: Alles auswählen
import clr,sys,os
path = os.path.dirname(os.path.abspath(__file__))
sys.path.append(path)
clr.AddReference("LibCronusMAX")
import LibCronusMAX
from System import EventHandler
class CronusMaxAPI:
device = LibCronusMAX.SingleDevice()
deviceInfo = LibCronusMAX.DeviceInformation
deviceCmd = LibCronusMAX.CmCommandEx()
def __init__(self):
print(self.deviceInfo.Fw) #Hier ERROR!
#self.device.DeviceInformationChanged += EventHandler[self.deviceInfo](self.deviceInfoChanged)
self.device.StartWorkerThreads()
def deviceInfoChanged(self):
#</code...
pass
CronusMaxAPI()
Code: Alles auswählen
TypeError: instance property must be accessed through a class instance
Wenn ich etwas von den aufgerufenen Instanzen abfrage, funktioniert es, nur nicht bei der nur erstellten, also ohne Konstruktor.
Wo besteht also nun das Problem und wie/kann man das lösen?
Grüße,
xXSkyWalkerXx1