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 

Problema usando variables

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

Hola amigos, antes de nada un saludo al foro..

Verán tengo una “duda que me corroe”…. Cuando tengo varias fichas, si creo una variable en una de ellas, y quiero usarla en las otras, normalmente incluyo la ficha donde está la variable dentro de la ficha donde quiero usar dicha variable, y uso “ exterm + el nombre de la variable”.

El problema es que esto me funciona siempre que la variable sea del tipo “int”, si es de tipo carácter o AnsiString, no me funciona.

Por favor alguien que sepa mas que yo (que se que los hay a miles), que me pueda aclarar el tema.

Gracias.
Un saludo.
_________________
Si dices que sabes, te preguntaran hasta que no sepas....
Si dices que no sabes, te diran hasta que sepas....
Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Con extern debe funcionarte sin problemas, independientemente del tipo de variable. También puedes definir esas variables en el apartado public fichero de cabecera del formulario y hacer el include del mismo en el que quieras usar esas variables.
En Form1.h
Código:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes>
#include <Controls>
#include <StdCtrls>
#include <Forms>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:   // IDE-managed Components
private:   // User declarations
public:      // User declarations
     __fastcall TForm1(TComponent* Owner);
     int nItem;
     AnsiString cCadena;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

En Form2.cpp
Código:
//---------------------------------------------------------------------------
#pragma hdrstop
#include <dir>
#include <qrpdffilt>
#include <QRExport>
#include <vcl>

#include "Form2.h"
#include "Form1.h"

Y puedes usar en Form2 las variables declaradas en Form1.h de la siguiente forma:
Código:
int nValor = Form1->nItem;
AnsiString Nombre = Form1->cCadena;

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Gracias Angel, pero quizas no me expresé bien, la variable si me la reconoce, el problema es que no tiene nada que ver lo que almaceno en esa variable en la Form1 con lo que me muestra cuando le pido el valor en la Form2.

Garcias.
Un Saludo.
_________________
Si dices que sabes, te preguntaran hasta que no sepas....
Si dices que no sabes, te diran hasta que sepas....
Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Por eso te sugería que usaras el sistema de los includes en lugar de extern; tal vez tengas una variable en el formulario donde has declarado el extern que se llama igual y un valor machaca a otro.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Yo uso variables en diferentes forms y no me dan problemas.
Lo que hago es lo siguiente, tanto si estoy en el Form1 como en el Form2 le doy el valor asi:

Form1-> Saludo="hola";

Nunca asi:

Saludo="hola";


Despues llamo de la misma forma:

Saludo2=Form1-> Saludo


No se si te he aclarado algo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
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.