none
pInvokeStackImbalance RRS feed

  • Question

  • Bonjour,

    Pour un projet, je dois interfacer un programme en VB (j'utilise vb 2010 Express) avec une DLL écrite en C

    Prototype de ma fonction dans la DLL :

    __declspec( dllimport ) bool Dll_Umc_Get_First_Symbole( char *Buffer, unsigned Taille_Buffer );


    Déclaration de ma fonction dans le programme VB :

        Declare Function Dll_Umc_Get_First_Symbole Lib "Dll_Umc.dll" (ByVal Buffer As String, ByVal Taille_Buffer As ULong) As Boolean
    


    Enfin le bout de code que j'utilise :

    Dim Buffer As String = ""
    
            Try
                TextBox5.Text = Fonctions.Dll_Umc_Get_First_Symbole(Buffer, 30)
                RichTextBox1.AppendText(Buffer)
    
            Catch Ex As Exception
                MessageBox.Show("Buffer cannot be read. Original error : " & Ex.Message)
            End Try


    • Modifié TonioX lundi 9 janvier 2012 09:54
    lundi 9 janvier 2012 08:59

Réponses

  • Bonjour,

    C'est surtout ULong qui me parait suspect. C'est en entier sur 64 bits. J'imagine que le défaut serait plutôt un entier sur 32 bits.

    Je crois avoir vu passé la question et il semblerait qu'un StringBuilder soit plus approprié (il faut voir également si la DLL travaille avec un charset unicode ou asciii.)


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    lundi 9 janvier 2012 09:09
    Modérateur

Toutes les réponses

  • Bonjour,

    C'est surtout ULong qui me parait suspect. C'est en entier sur 64 bits. J'imagine que le défaut serait plutôt un entier sur 32 bits.

    Je crois avoir vu passé la question et il semblerait qu'un StringBuilder soit plus approprié (il faut voir également si la DLL travaille avec un charset unicode ou asciii.)


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    lundi 9 janvier 2012 09:09
    Modérateur
  • Oui c'était bien ca, en mettant un entier ca passe, merci
    lundi 9 janvier 2012 09:38