Bonjour à tous
Je suis debutant, et j'ai trouvé ce code pour apprendre, sur un site de Microsoft qui montre comment modifier en C une structure envoyée par VB6.
Il marche tres bien
http://support.microsoft.com/kb/194609
Seulement voila, le code C fait appel a une lib statique pour referencer dans VB la structure et aussi je suppose les formats d'entrée de la fonction DLL.
J'ai essayé de modifier le code VB pour me passer du referencement, en declarant la fonction de la DLL, en ajoutant la declaration de la structure, j'ai aussi désactivé le fichier "UDTArray.odl" dans la compilation de la DLL, mais cela ne marche pas
Si quelqu'un peut m'eclairer sur ce qui ne va pas.
Code C/C++ :
Private Declare Sub ModifyStruct Lib "UDTArray\Debug\UDTArray.dll" (PointerArray As TestUDT, ByVal nTotalItem As Long)
Private Type TestUDT
l As Long
str As String
End Type
Private Sub Form_Load()
Dim t(0 To 1) As TestUDT
Dim i As Long
t(0).l = 1
t(0).str = "test1"
t(1).l = 2
t(1).str = "Test2"
i = UBound(t) - LBound(t) + 1
ModifyStruct t(0), i 't(0)'s address will be passed to C
MsgBox "t(1).l = " & t(1).l & vbCrLf & "t(1).str = " & t(1).str
End Sub
Merci et bonne journée