Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Variables globales

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Variables globales Responder citando

Vaya por delante que no llevo demasiado tiempo en esto del Builder. Mi problema es el siguiente: necesito leer una variable de una unit desde otra unit diferente (las llamaré unit1 y unit2). He probado con incluir "unit1.cpp" en la unit2 pero me da un warning que no me gusta nada referente a que la misma variable se encuentra definida en dos .obj distintos. Me gustaría saber cómo definir una variable a nivel de aplicación para evitar este problema, o si no alguna solución parecida. Gracias por adelantado.
Volver arriba
Mensaje    Asunto: Variables globales Responder citando

Hola Dani,

Debes declarar la variable en el fichero cabecera de la unit donde este la misma, por ejemplo:

...en el caso de que queramos definir una variable llamada Prueba en la unit1 y queramos acceder a ella desde otro modulo, por ejemplo unit2 seria suficiente con declarar String Prueba en la parte publica de la clase en unit1.h y luego en la unit2 añadimos al principio #include "unit1.h" ahora para acceder desde la unit2 a la variable que esta en la unit1 hacemos simplemente así, Form1->Prueba = "lo que sea";

...espero no haberme liado demasiado en la explicación, que me entiendas y que sea lo que buscabas.

Saludos.
_Leo

Volver arriba
Mensaje    Asunto: Variables globales Responder citando

Hola,
El problema que tienes, es que en C++, si tienes definida una variable con el mismo nombre en dos OBJ diferentes, son dos variables diferentes. Esto te puede traer muchos problemas con los efectos laterales. El C++ ofrece una solucion para estos casos, en los que se quiere acceder a una variable que se encuentra en otro fichero.
En el fichero donde se declara la variable se hace normalmente:
...
int a;
AnsiString cad;
...

y en los ficheros en los que se quiera acceder a esas variables se declaran de la siguiente forma:

...
extern int a;
extern AnsiString cad;
...
Se puede hacer jugando con los .h, de la siguiente forma:
en el .h del fichero que contiene la variable declarariamos la variable como
extern int a;
posteriormente en el .cpp lo hariamos normalmente.
en el segundo fichero incluiriamos el.h del primero.


Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.