Variable accesible para todos los formularios C++ BUILDER

Pardal
07 de Enero del 2004
Hola, soy bastante nuevo con esto del C++ Builder y no sé cómo y dónde declarar una variable que pueda accederse desde cualquier formulario de un programa. Alguien sabe cómo hacerlo?

Gracias.

iskipitriski
07 de Enero del 2004
Otra forma es crear la variable arriba, debajo de los includes, y en el resto de formularios, usas la claúsula extern. Algo así:

extern int x;

Al poner externe, ya sabe que se refiere a la variable definida en otro formulario.

Tugui
07 de Enero del 2004
Supongamos que dicha variable la vamos a declarar en el formulario principal que por defecto nos inicia el builder, pues bien, yo lo hago del siguiente modo (aunque hay otros):
En la parte pública del archivo de cabecera del formulario declaro la variable sin asignarle valor alguno:

public: // User declarations
AnsiString Mi_Variable;

Y volviendo ahora al archivo de implementación y en el constructor del formulario principal le doy un valor inicial a la variable:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Mi_Variable = "";
}
//----------------------------------
Pues bien, a partir de aquí la variable ya está lista para poder acceder a ella desde cualquier parte de la aplicación, si accedemos del mismo formulario donde la hemos declarado podemos llamarla directamente por su nombre:

Mi_Variable = "nuevo valor";

Y si la llamamos desde otro formulario:

Form1->Mi_Variable = "nuevo valor";

Espero que te funcione, saludos.