Bonjour

Je suis occupé a traduire un vieux code vb6 en C#.

J'ai actuellement un souci de passage d'un array de int a une dll C

Voici le code original VB

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Declare Function S7RdDB& Lib "PCS7LW32.dll" (pS7 As S7, ByVal DBNr%, ByVal ABWort%, ByVal WortAnz%, DstBuf As Any)
 
Dim Buf(0 To 512) As Integer
 
  Res = S7RdDB(Ag, 120, 20, 20, Buf(0))
Et voici comment je l'ai traduit

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    [DllImport("PCS7LW32.dll")]
    static public unsafe extern int S7RdDB(S7 pS7, int DBNr, int ABWort, int WortAnz, ref int[]DstBuf);
 
    public int[] Buf = new int[512];
 
    int Res = Pcs7lw32.S7RdDB(Ag, 120, 20, 20, ref Buf);
J'ai vraissemblablement un souci avec la declaration ou le passage de Buf

Quelqu'un aurait il une suggestion ?

Merci de votre aide