Variable global

PunkDude424 Messages postés 117 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 24 avril 2006 - 8 déc. 2004 à 18:41
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 - 9 déc. 2004 à 12:33
J'ai un projet avec Visual STudio .net 2003 et je veux mettre l'instance de lapplication en variable global.....mais sa fonctionne pas.....J'ai faite ma variable global avant le main et dans mes autre classe il ne la trouve pas....j'ai essayer avec extern et sa fonctionne pas non plus...

voila comment je fait

j'ai essayer sa :
HINSTANCE gInstance;

int WINMAIN (.....)
{
gInstance = hInstance;

}

et sa :

extern HINSTANCE gInstance;

int WINMAIN(...)
{
gInstance = hInstance;
}

4 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
8 déc. 2004 à 18:49
Dans UN des .cpp (celui avec WinMain par ex) :
HINSTANCE gInstance = NULL;

dans LES AUTRES (ceux sui veulent y avoir accès) :
extern HINSTANCE gInstance;
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
8 déc. 2004 à 19:44
extern const HINSTANCE gInstance; // irais-je même jusqu'à dire ;-)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 déc. 2004 à 08:35
Tu es sur Nebula? Parce que au début gInstance vaut zéro et puis après non
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
9 déc. 2004 à 12:33
Ben j'utilise çà dans mes programmes :

1) instance.h
#ifndef __INSTANCE_H__
#define __INSTANCE_H__

extern const HINSTANCE hInstance;
extern VOID GetInstance(VOID);

#endif

2) instance.c
#include "config.h"
#include <windows.h>
#include "assert.h"

HINSTANCE hInstance = NULL;

VOID GetInstance(VOID) {
hInstance = GetModuleHandle(NULL);
assert(hInstance != NULL);
}

Le but étant que l'instance soit en lecture seule partout, sauf dans celui où on l'initialise (bon évidemment, avec un peu de rigueur, pas besoin de ce bazar)...
0
Rejoignez-nous