Programación General > C++ Builder

 Comunicación Entre Forms

(1/2) > >>

carquemo:
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.

scarlet:
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.

carquemo:
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.

lordford:
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 ---form1->Var1 = Edit1->Text;  //con sus conversiones                                         // y asi susecivamente 
Espero que te ayude

Salu2,

 :smartass:  :hola:  B)  :rolleyes:

LordFord

carquemo:
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

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa