elegantere Lösung für C-Funktionsaufruf vorhanden ?

  • VB.NET

    elegantere Lösung für C-Funktionsaufruf vorhanden ?

    Hallo,

    ich kann die untenstehende Funktion wie beschrieben aufrufen.

    Gibt es eine elegantere Lösung, bei der ich die Variable "locErrMessage"
    direkt als String statt als Char-Array definieren.

    Danke und Gruß, Duke

    C-Code

    Quellcode

    1. unsigned long C_ErrIntHexToStr(unsigned long ulError, char *cMessage);


    VB-Code

    Quellcode

    1. Public Declare Function C_ErrIntHexToStr Lib "Irda.dll" (ByVal ulError As UInt32, ByRef cMessage As Byte) As UInt32
    2. Dim locErrMessage(32) As Byte
    3. C_ErrIntHexToStr(retValue, locErrMessage(0))



    Edit:
    Schon erledigt, ich benutze jetzt einen Stringbuilder:

    Quellcode

    1. Public Declare Function C_ErrIntHexToStr Lib "Irda.dll" (ByVal ulError As UInt32, _
    2. cMessage As System.Text.StringBuilder) As UInt32
    3. Dim locErrMessage As System.Text.StringBuilder
    4. locErrMessage = New System.Text.StringBuilder(32)
    5. Call C_ErrIntHexToStr(retValue, locErrMessage)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Duke“ () aus folgendem Grund: Problem gelöst