Bonjour, voici le code VB 6 que je souhaiterais refaire en VB NET.

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
 
Public Type BomDef
  Number(18) As Byte
  Status(2) As Byte
End Type
...
Dim ActBom As BomDef
SapSetString ActBom.Number, "A2C52114726"
SapSetString ActBom.Status, "AA"
...
Public Sub SapSetString(ByRef xkey() As Byte, ByVal Value As String)
  Dim x As Integer
  Dim LenKey As Integer
  Dim LenValue As Integer
  LenValue = Len(Value) - 1
  LenKey = UBound(xkey)
  For x = 0 To LenValue
    xkey(x) = Asc(Mid(Value, x + 1, 1))
  Next x
  For x = LenValue + 1 To LenKey
    xkey(x) = Asc(" ")
  Next x
  xkey(LenKey) = 0
End Sub
---------------------------------------------
Voici le code VB .NET que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Public Structure BomDef
  Number() As Byte
  Status() As Byte
End Structure
'...
Dim ActBom As BomDef
ActBom.Number = ASCIIEncoding.ASCII.GetBytes("A2C52114726")
'...
Le problème est que l'objet ActBom créé est censé être utilisé comme paramètre d'une fonction de DLL ayant été codée en C. L'appel à cette fonction marche avec le code VB 6 mais pas avec le Vb .NET.

Sauriez-vous d'ou peut venir le problème côté .NET ?

Merci d'avance