Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question pasar datos de un form a otro form

Hola estoy usando BDS 2006.
he leido los hilos relacionados con este tema más no ha funcionado.

Quiere pasar un valor o arios valores de un form a otro form.

los forms esta ligados(esta declarados mutuamente para poder se utilizados)


en form1 tengo declarada variables las cuales son llamadas y modificadas en el form2

al regresar al form 1 las variables no fueron modificadas y el valor que me interesa consevar del form 2 se pierde.

que puedo hacer ????????
deseo conserver el valor.

asi abro el form2:
Código Delphi [-]
var f : tForm2;
begin
    f:= Tform2.Create(application);
    f.Image1.Picture.LoadFromFile(form1.logo);
 try
    f.ShowModal;
 finally
    f.Free;
    Label7.Caption :=IntToStr(id_dir); // asigno la variable que se cambio en el form2 a una etiqueta para saber si el valor se pierde.
Responder Con Cita
  #2  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
y donde tienes declarado la variable Id_Dir en form2 o form1??
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question

La variable Id_Dir esta declarada en Form1
como publica para que sea accesible para form2.
Responder Con Cita
  #4  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
porq no muestras el codigo donde la asignas??
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 12-10-2007
Avatar de JoseAntonio
JoseAntonio JoseAntonio is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lima - Ciudad de los Reyes.
Posts: 87
Poder: 18
JoseAntonio Va por buen camino
La verdad no se entiende muy bien tu codigo, pero al parecer el f del tipo tform2 es una variable del tipo tform2 pero no es la misma Form2 de tu proyecto, quizas a eso se deba que tu codigo no funciona.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos.
Responder Con Cita
  #6  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question

En el form1
Código Delphi [-]
  private
    { Private declarations }
  public
        id_tit : integer;
        id_dir : integer;
        id_com : integer;
        id_tra : integer;
    { Public declarations }
  end;

var
  Form1: TForm1;

Mando a llamar al form2

Código Delphi [-]
procedure TForm2.JvBitBtn4Click(Sender: TObject);
var f : tForm2;
begin
    f:= Tform2.Create(application);
    f.Image1.Picture.LoadFromFile(form1.logo);
 try
    f.ShowModal;
 finally
    f.Free;
    Label7.Caption :=IntToStr(id_dir);  // cuando regresa del form refreca el valor de la variable
 end;// fin del try
end;

Estabdo en el form2 esto es lo que sucede caundo oprimo el boton para asignarle el valor a la variable declarada en el form1.
Código Delphi [-]
procedure TForm2.JvBitBtn1Click(Sender: TObject);
begin
    form1.id_dir := strtoint(Edit1.Text);
end;
Responder Con Cita
  #7  
Antiguo 12-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
A mi me funciona perfectamente el ejemplo que has puesto en BDS2006.

Creo que deberías aclarar varios puntos.

Cita:
Mando a llamar al form2

Código Delphi [-]
procedure TForm2.JvBitBtn4Click(Sender: TObject);
var f : tForm2;
begin
    f:= Tform2.Create(application);
    f.Image1.Picture.LoadFromFile(form1.logo);
 try
    f.ShowModal;
 finally
    f.Free;
    Label7.Caption :=IntToStr(id_dir);  // cuando regresa del form refreca el valor de la variable
 end;// fin del try
end;
No sé si te has equivocado al copiar y pegar tu código aquí en este hilo. Entiendo que ese procedimiento debe encontrarse y estar declarado en el Form1.

Cita:
Código Delphi [-]
try
    f.ShowModal;
 finally
    f.Free;
    Label7.Caption :=IntToStr(id_dir);
Label7.Caption no se va a actualizar con el valor de Id_dir que has modificado en el Form2 HASTA que se cierre el Form2. Así lo has decidido en tu código.

Cuando se cierra Form2, el caption de Label7 cambia correctamente al valor dado a id_dir en el Form2.

Lo dicho, por lo demás, a mi me funciona perfectamente.

Dime si no es así, y si necesitas aclarar algun tema adicional.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #8  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Lo que has descrito es justo lo que necesito
lamentablemente a mi no me funciona
aun desconosco porque
Responder Con Cita
  #9  
Antiguo 12-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui tienes un ejemplo muy sencillo para pasar datos de un from a otro y viceversa.
Saludos

Última edición por Caral fecha: 24-01-2008 a las 19:50:20.
Responder Con Cita
  #10  
Antiguo 12-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Revisa tu código.

Si lo deseas, pon aquí el código completo del Form1 y del Form2, si no es demasiado grande.

Te recomiendo por otro lado que intentes abrir un nuevo proyecto con las funciones básicas, y verás como debería funcionar. Algo debes de tener en tu código mal para que no te funcione tal y como explicas.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #11  
Antiguo 12-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Este es el ejemplo que tu mismo has puesto, simplificado al máximo.

Verás como funciona ....

Cuando cierras Form2, el Label1 en el Form1 cambia de valor, después de haber pulsa el Button1 en el Form2.

Archivos Adjuntos
Tipo de Archivo: zip vroa74.zip (3,8 KB, 29 visitas)
__________________
Piensa siempre en positivo !
Responder Con Cita
  #12  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question

mucha gracias por el ejemplo lo revise rapidamente
si pasa los valores mas sin embargo me di ceunta de un detalle
los valores que pasate solo son dato ente componentes.

El problema que tengo son en variables creadas por el usuario y al pasarlas de un form al otro las pierdo.

Quizas podria tener mas de un componente oculto dentro de mi form, mas eso no se me hace practico que cada vez que desee para un valor de una variable tenga que crear un componente no visible.

voy a hacer una ejemplo a ver si puede representar mi duda.

voy a editar este msg en 10 min.
Responder Con Cita
  #13  
Antiguo 12-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Supongo que después de escribir tu último mensaje viste el código que adjunté justo antes, que corresponde a tu propio código. Ya me dirás ....
__________________
Piensa siempre en positivo !
Responder Con Cita
  #14  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
gracias a todos.
la resolucion del problema en mi caso muy en particular es :

form1 levanta variable id_dir
form2 lee form1.id_dir
regreso a form1 uso id_dir no tiene valor mas sin embargo si llama a form1.id_dir de devuelve el valor que conserva del form2.

otra forma en la cuel me funciono es igualar los valores.
cuando regreso al form1 hago
id_dir := form1.id_dir;
y de esta forma el valor se unifica.

pro que esta pasando. ????
no tengo la menor idea.

Última edición por vroa74 fecha: 12-10-2007 a las 20:01:17. Razón: otra soluión no expuesta
Responder Con Cita
  #15  
Antiguo 12-10-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
no tendras declarada dos veces esa variable id_dir, es lo unicoque se me ocurre por lo que dices
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #16  
Antiguo 12-10-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
He revisado el codigo 3 veces y sili usi id_dir en el form1 en todos los demas solo hago referencia de el invocandolo form1.id_dir. Por ese motivo declare la variable publica.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
incrustrar un form en otro TKW04 OOP 4 17-08-2007 19:02:33
pasar valores de variables de un form a otro oscarpinog Varios 7 12-08-2007 04:18:39
Error al pasar datos de un form a otro jcfonsecar Varios 6 12-07-2006 03:22:22
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 22:41:08
Pasar información de un form a otro davidgaldo Varios 3 10-02-2004 20:00:34


La franja horaria es GMT +2. Ahora son las 17:25:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi