Visu d'une structure

toni93330 Messages postés 9 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 14 février 2009 - 13 févr. 2009 à 16:42
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 14 févr. 2009 à 11:31
Bonjour,

Voila mon problème :
j'utilise visual studio 2005 et le framework .NET.

Dans mon programme principale j'inclus un fichier de définition qui contient la déclaration d'une structure :
ex :
typedef struct _LIST_ITEM
{
    int table;
    int rang;
    char nature[11];
    char crit[80];
    char crit2[80];
    char ope[3];
    int   visible;
    char  FontName[80];
    char  FontSize[10];
    char  FontStyle[30];
    char  FontWeight[10];
    char  Libelle[80];
    int   style;
}LIST_ITEM;

en variable globale dans mon prog principale je declare
LIST_ITEM toto;

j'aimerais accedé a cette declaration dans un deuxieme fichier qui contient un framework.

J'ai une erreur lors de la compile.

Avez-vous une solution ?

Merci

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 févr. 2009 à 23:01
Salut,

Pas sûr d'avoir compris. Tu as main.c avec LIST_ITEM toto et framework.c qui utilise toto ? Il faudrait que tu déclare toto dans un .h inclus dans framework.c et main.c.

Si c'est plus compliqué que ça, je te conseille de consulter cette aide sur le mot clé extern à tout hasard.
0
toni93330 Messages postés 9 Date d'inscription dimanche 19 novembre 2006 Statut Membre Dernière intervention 14 février 2009
14 févr. 2009 à 05:27
Bonjour,

non ce n'est pas cela.

Dans mon 2eme prog, c'est une winform genéré par visual studio donc le code est un classe.
exemple :
login.h

using namespace Systeme;

namespace LOGIN {
  ref class login:System::Form {
 ...... code qui suit
  // ici j'aimerais utilisé toto
};
}

donc dans le main.cpp j'ai ca :
#include "table.h"  // contient ma structure LIST_ITEM
#include "login.h"

using namespace LOGIN;

LIST_ITEM toto;

[STATThread..]
int main(....)
{
   Application.Run(gcnew Login());
}

j'espere que c'est plus claire
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
14 févr. 2009 à 11:31
Jamais fait de C++ .NET ou CLI..

Tu pourrais peut être déclarer toto dans table.h.

Mais ce serait peut être plus intelligent de la passer en argument du constructeur de Login, si possible.
0
Rejoignez-nous