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.

Merci et bonne journée

Code VB6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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