Я пытаюсь вызвать функцию C ++ в VB.NET, и это поднимает PInvokeStackImbalance. Вот сигнатура функции C ++:
int e1v151(char *NoUsager, char *SequentielSDU, char *code_sys, int code_for, char *IndGest2)
И вот оно, в VB.NET:
DllImport("E1fnbase.dll", EntryPoint:="e1v151", CallingConvention:=CallingConvention.Cdecl, CharSet:=CharSet.Ansi)>
Public Function e1v151(ByVal NoUsager As String, ByVal SeqSDU As String, ByVal Codesys As String, ByVal CodeFor As Integer, ByVal IndGest2 As String) As Integer
End Function
Я уже попробовал несколько вещей (используя StringBuilder
вместо String
, <MarshalAs(LPStr)>
безуспешно. Есть что-то, чего я не вижу?
Задача ещё не решена.
Других решений пока нет …