FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Pasar datos de un form a otro
Hola amigos, soy bastante novato en delphi y me encuentro con un problmilla que me trae de cabeza a ver si alguien puede arrojarme un poco de luz:
En una aplicacion desde el form principal abro uno en modo modal con varios edits, desde este form abro otro tambien en modal donde tengo un dbgrid con los resultados de un query lo que quiero es que los datos vuelvan al segundo formulario pero me da error, pienso que debe ser alguna propiedad del form ya que si inserto un edit en el formulario de busqueda captura bien los datos codigo delphi: en form 3 tengo esto begin form2.edit2.text:=adoquery.fieldbyname('cliente').asstring; end; sin embargo si el edit esta en el mismo form funciona correcto codigo delphi: begin edit2.text:=adoquery.fieldbyname('cliente').asstring; end; alguien que pueda hecharme un cable y que no sea al cuello gracias |
#2
|
|||
|
|||
mas datos
Hola otra vez referente a la pregunta que he hecho deciros que tengo las referencias a las unidades en uses y que tambien he intentado usando variables globales tanto en un form como en el otro y siempre me da error de violacion de acceso a memoria por si puede servir de algo
|
#3
|
||||
|
||||
Hola, bienvenido al ClubDelphi. Te recomiendo que leas la guía de estilo. También te sugiero que uses las etiquetas adecuadas para poner código. Las etiquetas [code] o [delphi] te permite formatear en automático tu código.
// Saludos |
#4
|
||||
|
||||
Hola astrosnik.
Cita:
Form3: Pero sin saber exáctamente el error que te arroja no puedo aventurar mas. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
pasar datos de un form a otro
Hola eficsa gracias por responder te pongo el codigo del form 2 y del form5
Código Delphi en form 2 en form 5:
el procedimiento datos es llamado por el evento ondblclick de un bdgrid del form5 y el error que da es el siguiente access violation at adress 004bebf9 in module proyect.exe. read of address 0000036c. a ver si te sirve esta informacion. pd si pongo la etiqueta para remarcar el codigo dice que no se me permite poner imagenes tendre cara de malo? Última edición por ecfisa fecha: 29-08-2012 a las 21:38:40. Razón: Agregar etiquetas [DELPHI] [/DELPHI] |
#6
|
||||
|
||||
Hola astrosnik.
¿ Y Form2 ya fué creado cuando lo invocas en Form5 ? Para salir de dudas, proba si de este modo desaparece el error:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Gracias por tu ayuda ecfisa te comento:
La solucion que me has posteado si bien no da error tampoco produce cambios la mas raro es que el form2 es el que abre el form5 mediante un boton primero los abria en modal pero lo he cambiado por si era eso lo que producia el error el form 2 queda abierto mientras el form5 se ejecuta. Muchas gracias por la ayuda compañero |
#8
|
||||
|
||||
Hola astrosnik.
Cita:
Ahora intentalo de este modo:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
|||
|
|||
muchos errores y una luz
Hola de nuevo sobre todo agradecerte ecfisa tu ayuda porque empieza a darme un poco de luz
esto hace que me de un error al no encontrar el field del query aun haciendo referencia al form donde se encuentra asi que despues de muchas pruebas y mas errores he llegado a una conclusion ( casi seguro erronea dadas mis limitaciones) el problema me parece que viene porque al ser formulrios modales tienen el control de la aplicacion y no permiten manipular otro formulario por error llegue a una solucion que seguramente no sera todo lo limpia que debia, la voy a explicar por si alguno quiere corregirla o si le sirve de utilidad a alguien. la solucion es usar otro form o un modulo que haga de puente en mi caso utilizare form4 que es el main de la aplicacion en el declaro una variable global y le asigno el valor en el procedimiento del form5
despues doy la orden de cerrar el formulario y en la parte donde cree el form5
Aqui pasamos el valor de la variable puente al form 2 esto funciona perfectamente. Si alguien se le ocurre como mejorar lo agradecere la ayuda asi como cualquier consejo que me haga aprender. Última edición por Casimiro Notevi fecha: 30-08-2012 a las 15:47:52. |
#10
|
||||
|
||||
Hola astrosnik.
En realidad no entiendo bién el problema por que si asignas el valor a Form2.Edit1 antes de mostrarlo modalmente, cuando llames al método ShowModal tiene que aparecer el valor en Form2.Edit1 (debo aclarar que por tu código pensé que el query estaba en Form5 y no en otro). Pero de todos modos me parece conveniente poner tus querys, datasets, etc. en un TDataModule accesible a las unidades que lo precisen. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#11
|
|||
|
|||
Efectivamente ecfisa el query esta en el form5 quizas no me explique bien mi aplicacion tiene el form4 que es el main desde el cual abro el form2 en modal y desde el form2 abro el form5 en modal tambien el form2 no se cierra sigue abierto latente hasta que el form5 finalice quizas por eso no me deja manipularlo si se os ocurre cualquier otra solucion estare encantado de aprenderla
|
#12
|
||||
|
||||
Hola astrosnik.
Creo no entender el problema que se te produce utilizando el código que te puse en el mensaje #8. Para que nos entendamos mejor te adjunto un pequeño ejemplo con dos forms. En Form5 un ADOQuery conectado a la tabla country de dbdemos.mdb (viene con Delphi), al pulsar un botón ejecuta un código básicamente igual al que te puse y muestra los campos del registro actualmente seleccionado en 5 edits residentes en Form2, que previamente fué quitado de Auto-create forms. Espero te sirva de guía o para que puedas decirme que es lo que no estoy entendiendo de tu problema. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-09-2012 a las 00:00:27. |
#13
|
|||
|
|||
Hola de nuevo ecfisa muchas gracias por tu ayuda, el ejemplo tuyo no puedo descargarlo segun el servidor no tengo permisos suficientes aunque este logueado voy a intentar explicarme mejor ruego disculpes si no he sabido hacerme entender.
Mi aplicacion lanza un formulario form4 que es el principal desde ahi con un bitbnt abro el form2 con edits para rellenar mediante el siguiente codigo
Desde el form2 con otro bitbtn abro el form5 en modal tambien con este codigo
En el form5 tengo un bdgrid y ejecuto un query al que asocion el codigo para que rellene los edits del form2. Si pongo el codigo que me mandaste
Sigue dando el mismo error access violation at address 004bfd43 in module projrct.exe. read of address 00000370. Espero haber explicado bien el escenario y los errores que produce gracias otra vez por tu esfuerzo. Última edición por ecfisa fecha: 31-08-2012 a las 15:44:21. Razón: corregir etiquetas (problema de interfaz mejorada) |
#14
|
||||
|
||||
Hola astrosnik.
No sé por que no te permite descargar el archivo, estuve revisando tus permisos y no pareciera haber ningún problema. Luego miraremos con más detalle. Te pongo el ejemplo ya que no es muy complicado (no creo que te lleve mas de 5 minutos hacerlo). Consiste en un form principal (Form4) que tiene 5 componentes:
Luego el código en Form4: Veras que muestra los campos en los edits de Form2 del registro actualmente seleccionado desde el DBGRid sin problemas. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#15
|
|||
|
|||
Gracias por tu ayuda una vez mas ecfisa tu ejemplo funciona perfectamente pero tu ejemplo y el mio tienen una diferencia:
En tu ejemplo tu asignas los valores a los edits despues de crear el form2 y antes de mostrarlo en el mio el form2 ya esta creado y mostrado en modal puesto que contiene ya valores que proceden del form4 no puedo cerrarlo creo que ahi radica el problema del error que al ser un formulario modal y ya estar creado y mostrado no permite que otro form lo manipule. La verdad que es mas una curiosidad y una solucion para el futuro ya que con la solucion que postee antes funciona seguire investigando y si encuentro otra solucion. Un saludo |
#16
|
||||
|
||||
Hola astrosnik.
Cita:
Saludos. Rectifico, debí decir: De ese modo no veo factible la visualización de los datos asignados.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 03-09-2012 a las 01:45:04. |
#17
|
|||
|
|||
mil gracias
Hola efcisa:
Muchas gracias por tus aclaraciones y indicaciones asi como los ejemplos mostrados que me seran de mucha utilidad resueltas mis dudas sobre formularios modales y habiendo encontrado una solucion para mi problema por mi parte doy por cerrado el tema. Un saludo |
#18
|
||||
|
||||
Violacion de Acceso
Gracias a todos en el foro, sus ejemplos resolvieron un problema que tenia desde un modulo de datos para abrir formularios de conexión de instancias de bases de datos.
Un gran aporte estimados y una importante ayuda a los que nos gusta la programación, pero no tenemos mucho tiempo para ello. Saludos...
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Pasar dato variable de un form a otro.. | yevabas | Varios | 5 | 26-04-2011 20:45:48 |
pasar datos de un form a otro form | vroa74 | API de Windows | 15 | 12-10-2007 19:11:52 |
pasar valores de variables de un form a otro | oscarpinog | Varios | 7 | 12-08-2007 03:18:39 |
Error al pasar datos de un form a otro | jcfonsecar | Varios | 6 | 12-07-2006 02:22:22 |
Pasar información de un form a otro | davidgaldo | Varios | 3 | 10-02-2004 19:00:34 |
|