![]() |
C# C++ dll array einlesen ?
Hallo,
ich habe ein dll (Borland C++), wo er ein 2D Array Daten liefert: 1.extern "C" MP5 Berechne(int iM, int iJ); struct MP5 { int iTMJ[5][12]; }; MP5 iTMJ; MP5 _export Berechne(int iM, int iJ) { ArrayFüllung... return(iTMJ); } 2.C#: public struct MP5 { public static int[,] iFelder = new int[5, 12];} MP5 iTMJ; [DllImport("my.dll", EntryPoint = "Berechne", CallingConvention = System.Runtime.InteropServices.CallingConvention.C decl, CharSet = CharSet.Auto, SetLastError = true)] public static extern MP5 Berechne(int iM, int iJ); Am Ende rufe ich die im DLL enthaltene Funktion auf und übergebe auch Daten: iTMJ = Berechne(12, 2013); Bei der letzten Zeile, wo ich die Funktion aufgerufen wird, stürzt er ab und die 2D Daten werden nicht dem iTMJ zugewiesen warum ? MFG |
AW: C# C++ dll array einlesen ?
So könnte es gehen (Rückgabetype 'IntPtr' ):
Code:
[DllImport(...)]
public static extern IntPtr Berechne(int iM, int iJ); ... IntPtr ptr = Berechne(12, 2013); MP5 mp5 = (MP5)Marshal.PtrToStructure(ptr, typeof(MP5)); |
AW: C# C++ dll array einlesen ?
Hallo,
leider führt zu keinem Datenempfang. MFG |
AW: C# C++ dll array einlesen ?
Probiere mal, die Adresse zu übergeben:
Code:
*MP5 _export Berechne(int iM, int iJ)
{ ArrayFüllung... return(@iTMJ); } |
AW: C# C++ dll array einlesen ?
Hallo,
sollte diese Änderung in der my.dll passieren ? MFG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz