Hallo,
habe folgendes Problem. Ich rufe verschiedene Methoden aus einer COM-Komponente. Das klappt ja auch ohne Probleme bis auf eine.
void ReadOutputPoint(long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)
Die Methode dient um aus einem SPS-Simulationsprogramm die Ausgänge auszulesen. Die zwei ersten Parameter sind Klar. Mit dem Dritten gibt man an welche Datentyp man erhalten/auslesen möchte. Möglich ist Bool, Byte, Int und Long. Das ist auch kein Problem. PointDataTypeConstants ist einfach eine Enumeration mit den vier möglichen Werten.
Aber der vierte Parameter macht mir Probleme. Ehrlich gesagt ich kann damit nichts anfangen. In der Beschreibung steht: „Bei Erfolg meldet die Methode den Wert in pData. Der Variant-Datentyp ist Bool, Byte, Integer oder Long, je nach DataType.“
Ich verstehe es so, dass die Daten an der Stelle wo der pData zeigt geschrieben werden. Aber wie kann man das in C# umsetzen?
Kann mir jemand Helfen?
Danke.
irek68
Mach pDATA als ein System.Object. Das kannst du dann in jede beliebige Klasse casten (zB System.Boolean, System.Int32 usw.)
Super! Es klapt!
Danke!
Viele Grüße
irek68