Bonjour,
J'ai un soucis pour communiquer avec DLL non managée, j'ai le message "Attempted to read or write protected memory. This is often an indication that other memory is corrupt." lors de l'appel de certaines fonctions.
Le contexte:
Passage d'un programme VB6 en VB.NET 2012
En résumé,
Ce qui fonctionne :
l'appel aux fonctions de type
Ce qui ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Declare Function F1 Lib "MY.DLL" (ByVal init As Int32) As Int32 Declare Function F2 Lib "MY.DLL" (ByVal chemin As String) As Int32 Declare Function F3 Lib "MY.DLL" (ByVal NbPort As Int32, ByVal BaudRate As Int32) As Int32
L'appel aux fonctions de type
Declare Function F4 Lib "MY.DLL" (arg1 As T1, arg2 As T2, arg3 As IntPtr) As Int32
avec :
Voilà, je pense que le soucis est au niveau des structures passées en arguments mais je n'ai pas la solution...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Structure T1 Dim X, Y, Z As Double End Structure Structure T2 Dim P As T1 Dim V As T1 Dim Longueur As Double End Structure
Partager