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 :

#pragma pack(1) en VB.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Par défaut #pragma pack(1) en VB.net
    Bonjour,
    Je débute en VB.Net et j'aurais voulus savoir si il existe une commande
    équivalente en VB.net je suis sous Visual Studio 2008

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    VB.NET étant un langage managé, cette instruction n'aurait pas beaucoup de sens... tu n'as pas à te préoccuper de l'organisation de la mémoire dans un langage managé. Pourquoi penses-tu avoir besoin de cette instruction ?

    Si c'est pour la déclaration d'une structure utilisée avec P/Invoke, tu peux utiliser les attributs StructLayout et FieldOffset

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Par défaut
    merci de ta réponse.
    Je travaille sur un projet ou j'ai besoin que ma structure sois identique en octet à celle d'un autre logiciel qui est en pascal.

    Ex: structure Teste en pascal fait 7 octet
    je doit avoir une structure identique qui fait 7 octet et ne pas avoir de padding (octet de rembourage)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Dans ce cas tu mets un StructLayout séquentiel en précisant Pack = 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Imports System.Runtime.InteropServices
     
    ...
     
    <StructLayout(LayoutKind.Sequential, Pack = 1)>
    Structure MyStruct
        Public X As Int32
        Public Y As Int16
        ...
    End Structure

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Par défaut
    Je viens de tester

    lorsque j’écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <StructLayout(LayoutKind.Sequential, Pack = 1)>
    Visual me sort l'erreur :

    error BC32035: Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement.
    si je rajoute le "_" à la fin de la ligne il ne connait pas l'attribut Pack.
    Est il possible que cela mon environnement ? (je déploie mon projet sous WINCE)

    [EDIT] je travail en FrameWork 3.5

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    mmm... apparemment l'attribut Pack est pas supporté dans le compact framework. Dans ce cas je sais pas trop comment tu peux gérer ça sans recourir à des grosses bidouilles

Discussions similaires

  1. Réponses: 9
    Dernier message: 24/06/2014, 15h39
  2. pack d'îcones pour applications VB.NET
    Par vallica dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/05/2012, 18h58
  3. que signifie la directive #pragma pack(1)
    Par xweb-10 dans le forum C++
    Réponses: 6
    Dernier message: 07/11/2010, 22h28
  4. [Compilation] qmake et #pragma pack(1)
    Par Invité dans le forum Outils
    Réponses: 4
    Dernier message: 23/10/2008, 15h15
  5. directive #pragma pack()
    Par philippe V dans le forum C++
    Réponses: 3
    Dernier message: 06/06/2005, 18h27

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