• Sábado 27 de Abril de 2024, 23:53

Autor Tema:  Comunicación Entre Forms  (Leído 1787 veces)

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Comunicación Entre Forms
« en: Miércoles 19 de Mayo de 2004, 16:50 »
0
Hola a todos.

Estoy haciendo una aplicación donde desde una forma se piden unos datos que deben estar accesibles después en otro formulario, ¿hay alguna manera de pasar los datos, sin que estos tengan que ser globales?, caso de que tengan que ser globales, ¿como hago para que la variable sea la misma?

Tengo que decir, que las formas las creo y las destruyo cada vez que las necesito y las dejo de necesitar.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

scarlet

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Comunicación Entre Forms
« Respuesta #1 en: Jueves 20 de Mayo de 2004, 11:41 »
0
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption= Forma[pos]->Label1->Caption;
/*donde [pos] es la posicion en el arreglo de formularios que tienes, si lo ue tienes es una arreglo de formularios al crearlos, asi puedes mandar a llamar datos desde cualquier formulario...
*/
}
saludos.
[code]cout<<"La verdadera razon del programador esta en tener interrogantes"<<endl;

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Comunicación Entre Forms
« Respuesta #2 en: Jueves 20 de Mayo de 2004, 12:42 »
0
esto funcionará si lo hago antes de hacer "delete FormX", que es lo que hago cuando ya no voy a usar un Formulario, lo probare a ver si me sirve gracias.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

lordford

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Comunicación Entre Forms
« Respuesta #3 en: Viernes 21 de Mayo de 2004, 00:33 »
0
Hola:

Puede ser que no entienda bien lo que preguntas pero puedes tener el form1 como el principal y pedir los datos en un form2 y pasar esos datos de forma muy sencilla asi:

1- incluyes en la Unit2 la Unit1
2- declaras de forma publica las variables que recibiran los datos de el 2do form si no los mostraras inmediatamente(es para almacenarlos y mostrarlos despues)
3- asignas los datos en el OnClick de un boton de la form2 asi:

   
Código: Text
  1. form1-&#62;Var1 = Edit1-&#62;Text;  //con sus conversiones
  2.                                          // y asi susecivamente
  3.  

Espero que te ayude

Salu2,

 :smartass:  :hola:  B)  :rolleyes:

LordFord
~ Si quieres que algo en la vida te salga bien]~

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Comunicación Entre Forms
« Respuesta #4 en: Lunes 24 de Mayo de 2004, 11:46 »
0
No funciona, seguramente por que la declaración de la unit esta antes de que la declaracion de variables, estoy pensando en hacerlo de otra manera.

En cualquier caso, me explico mejor (si puedo):

 Tengo un Form, Form1, el principal, solo se crea ese automaticamente, después desde ese creo otro Form asi:  

Form5= new TForm(this);

y se crea, pero ahora las respuestas, que son más de un simple ModalResult, las quiero ver en el Form1,

cuando ya no me hace falta el Form5 me lo cargo con

delete Form5;

desde ese momento todas las variables de Form5 han desaparido, pero antes de esta instrucción deberia poder acceder a ellas, y no puedo, pero conforme escribo esto me doy cuenta de que a lo mejor no son publicas, o que no pongo "Form5->loquesea"
voy a probarlo
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Comunicación Entre Forms
« Respuesta #5 en: Lunes 24 de Mayo de 2004, 12:40 »
0
He aclarado algo, al reves funciona. A ver si me arreglo con eso. Gracias.
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?