Hallo, ich benötige dringend Eure Hilfe.
Ich versuche verzweifelt an einen Double-Wert im unmanaged mem zu gelengen von dessen ich den Zeiger habe. Mit der Copy-Funktion Marshal.Copy scheint es nicht zu klappen. Es sollte ein Double-Wert drin stehen. Raus kommt jedoch ein nicht erwarteter
Wert wie 2,453589.....E-313 Was mache ich falsch?
Hier der Code.
myStruct = new MyStruct();
// Initialize unmanged memory to hold the struct.
pnt = Marshal.AllocHGlobal(Marshal.SizeOf(myStruct));
// Copy the struct to unmanaged memory.
Marshal.StructureToPtr(myStruct, pnt, false);
int retVal = AOSystem_DllImports.SetAddr(myStruct);
// Create a managed array.
var managedArray = new double[1];
// Initialize unmanged memory to hold the array.
int size = Marshal.SizeOf(managedArray[0]) * managedArray.Length;
// Copy unmanaged data-pointer to managed array
Marshal.Copy(pnt, managedArray, 0, managedArray.Length);
// Anzeige
this.Status.Content = managedArray[0];