Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


extern CFamiliaConceptosApp theApp;

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

extern CFamiliaConceptosApp theApp;

Notapor atp el Lun Abr 21, 2008 12:28 pm

Hola de nuevo, ultimamente estoy haciendo un proyectillo en vc++ basado en diálogos y me están saliendo varios problemillas.

El problema de ahora es que tengo una variable global en la clase CFamiliaConceptosApp que es un entero y se llama m_idioma, que guarda el valor del idioma que el usuario seleccione. He decidido declarar esta variable en esta clase porque esta variable debe ser usada en cualquier otra clase.

Entonces, en los diálogos basta con poner en CDialogX.h la declaración "extern CFamiliaConceptosApp theApp;" para poder usar la variable idiomas.

El problema es que tengo una clase heredera de CTreeCtrl llamada CColorTree y al poner la declaración "extern CFamiliaConceptosApp theApp;" me da el error de compilación:

C:\Documents and Settings\Trujillo\Escritorio\familiaConceptos\ColorTree.h(13) : error C2146: syntax error : missing ';' before identifier 'theApp'
C:\Documents and Settings\Trujillo\Escritorio\familiaConceptos\ColorTree.h(13) : fatal error C1004: unexpected end of file found

justo en la línea donde está el "extern....".

Y si no pongo esa declaración me sale el error de compilación:

C:\Documents and Settings\Trujillo\Escritorio\familiaConceptos\ColorTree.cpp(1202) : error C2065: 'theApp' : undeclared identifier
C:\Documents and Settings\Trujillo\Escritorio\familiaConceptos\ColorTree.cpp(1202) : error C2228: left of '.m_idioma' must have class/struct/union type

en las lineas en la que uso .......theApp.m_idioma.

Saludos y gracias de antemano.
atp
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 126
Registrado: Mar Ene 03, 2006 3:52 pm

Re: extern CFamiliaConceptosApp theApp;

Notapor ivancp el Lun Abr 21, 2008 12:33 pm

Lo que pasa es que necesitas incluir el archivo donde esta definida la clase CFamiliaConceptosApp
puedes solucinarlo escribiendo la siguiente linea en el archivo ColorTree.h:

Código: Seleccionar todo
#include "FamiliaConceptos.h"   //supongo que ése es el archivo de la clase CFamiliaConceptosApp
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 316
Registrado: Jue Sep 06, 2007 12:57 pm

Re: extern CFamiliaConceptosApp theApp;

Notapor atp el Lun Abr 21, 2008 12:40 pm

Graciassss, ya funciona. Pero ahora tengo la curiosidad, por qué en la clase CColorTree.h hay que poner #include "FamiliaConceptos.h" y en las demás clases no?

Gracias de nuevo.
atp
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 126
Registrado: Mar Ene 03, 2006 3:52 pm

Re: extern CFamiliaConceptosApp theApp;

Notapor ivancp el Lun Abr 21, 2008 12:55 pm

Debes escribir esa linea de inclusion sólo donde lo necesites.
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 316
Registrado: Jue Sep 06, 2007 12:57 pm


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados