IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB6 >VB.Net] Comment migrer ce code ?


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [VB6 >VB.Net] Comment migrer ce code ?
    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

  2. #2
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    Essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Structure BomDef
        <VBFixedArray(18)> Public Number() As Byte
        <VBFixedArray(2)> Public Status() As Byte
    End Structure

  3. #3
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci de cette réponse mais je me suis finalement débrouillé en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MarshalAs(UnmanagedType.ByValArray, SizeConst:=18)> ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ADO.Net] Comment migrer du ODP.NET 9i vers OPD.NET 10g ?
    Par bartoumi dans le forum Accès aux données
    Réponses: 3
    Dernier message: 17/02/2006, 12h17
  2. [VB.NET] Comment implementer les "Type" de VB6 ?
    Par cach dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/02/2006, 10h48
  3. [C++ ] Comment migrer vers C# ou C++.Net ?
    Par NutsFou dans le forum Framework .NET
    Réponses: 2
    Dernier message: 14/12/2005, 15h46
  4. Réponses: 3
    Dernier message: 20/04/2005, 12h30
  5. [VB.NET] Comment ecrire du code entre <title>
    Par ykane dans le forum ASP.NET
    Réponses: 5
    Dernier message: 10/05/2004, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo