| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
martinlop2007 Lt JG


Registrado: 20 Feb 2007Mensajes: 67
|
Publicado: Mie 09 Abr, 2008 5:50 pm Asunto: Problema usando variables |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 10 Abr, 2008 7:31 am Asunto: |
|
|
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 |
|
 |
martinlop2007 Lt JG


Registrado: 20 Feb 2007Mensajes: 67
|
Publicado: Jue 10 Abr, 2008 9:56 am Asunto: |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 10 Abr, 2008 10:58 am Asunto: |
|
|
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 |
|
 |
hetorsc Lt JG

Registrado: 11 Abr 2007Mensajes: 61
|
Publicado: Mie 16 Abr, 2008 12:38 pm Asunto: |
|
|
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 |
|
 |
|