|
Página 3 de 4
|
Como Hacer Que Un Formulario Retorne [SOLUCIONADO]
Autor |
Mensaje |
gambafeliz
Analista Programador
Registrado: Julio 2019
Mensajes: 830
Edad: 54
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Gamba feliz
Mira si pongo
No se lanza el evento _Activate en el formulario principal
Si por el contrario pongo
Se lanza el evento pero cuando se quiere recuperar el valor de la propiedad del formulario secundario esta ya no existe puesto que el formulario fue destruido.
Así que esta forma de resolución de problema no me resulta viable para formularios embebidos dentro de otros, pua sonó re técnico esto
Saludos.
Pero tincho tu no haces:
Me.Reparent(FormElQueSea.PanelElQueSea, 0, 0)
Stop Event
En Form_Close()
La forma que empleas en tu explicación, es para liberar y no para ponerlo en su parent.
Es que yo me bazo en tus explicaciones, y si te preguntas, si comprendo lo que ahora me cuentas, pues la respuesta es Sí. Pero eso no es lo que me cuentas anteriormente.
Me explico, por que mi conversación. No dudo que tengas razón, sino que tu tienes que explicar las cosas para que tu interlocutor las entienda. Aunque tu el (emisor) lo comprendas perfectamente el problema.
|
#21 Lunes, 21 Octobre 2019, 19:19 |
|
|
gambafeliz
Analista Programador
Registrado: Julio 2019
Mensajes: 830
Edad: 54
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Ga
Por otra parte voy analizar bien tu caso para intentar que juntos lo llevemos a buen puerto. Por que tu hoy estas analizando esto y probablemente en el futuro yo esté en tu mismo caso y me convenga entenderlo y aplicarlo para fines personales.
Saludos, joven.
|
#22 Lunes, 21 Octobre 2019, 19:22 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Tincho:
he rehecho mi codigo, usando una array integer, y ahora si funciona.
En mi mensaje anterior lo puedes descargar.
A ver si así te sirve....
Hola Julio, funciona sin embeberlo en un contenedor, ya que al intentar embeberlo no funciona.
Al parecer ShowModal que el el idóneo para esperar a que hagamos los cambios de los datos en el formulario secundario no se puede embeber.
Y si uso Sow() este se puede embeber pero el código continua su ejecución sin esperar a que hagamos los cambios en el formulario secundario.
Parece un callejón sin salida.
Muchas gracias por el intento y el tiempo invertido.
Saludos
|
#23 Lunes, 21 Octobre 2019, 19:26 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Ga
Por otra parte voy analizar bien tu caso para intentar que juntos lo llevemos a buen puerto. Por que tu hoy estas analizando esto y probablemente en el futuro yo esté en tu mismo caso y me convenga entenderlo y aplicarlo para fines personales.
Saludos, joven.
Si, bueno esto que intento resolver con vuestra ayuda es para hacer un componente que permita hacer aplicaciones de forma mas rápida, quitando lo repetitivo que es Acerca de.., configuración, edición de datos de un registro (este hilo es para este último) etc. tengo idea de hacer agregar mas formularios, como importador de datos desde csv, xls, ods, gnumeric, mdb, accdb, etc.
Todavía esta bastante "verde" pero ya funciona para los dos primeros Formularios (funciona porque se editan archivos de texto y no se pasan datos entre formularios )
Por ejemplo para cargar el formulario "Acerca de..." del componente en el programa hay que:
- Instalar el paquete del componente en el sistema
- En el formulario principal del programa que estés haciendo hay que instanciar las clases
Private abx As New Abu '' Instancia de la clase que llama al formulario Acerca de..
Private cbx As New Cgx '' Instancia de la clase que llama al formulario Preferencias
- Llamar el formulario de la siguiente manera
cfg = sog.ProjInfo(Application.Path &/ ".project")
abx.About(Me, cfg)
Donde cfg es, básicamente, el contenido de .project de tu programa y Me el contenedor.
Donde s es el archivo XML que tiene la configuración del programa
Bueno, por acá van los tiros de todo este lio.
Saludos.
|
#24 Lunes, 21 Octobre 2019, 19:59 |
|
|
gambafeliz
Analista Programador
Registrado: Julio 2019
Mensajes: 830
Edad: 54
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Si por el contrario pongo
No se si lo has resuelto todavía, pero sino, has probado que antes de Me.Close envías el resultado al portapapeles y cuando el formulario principal haga Activate recoger el resultado > 0 del portapapeles.
En fin dime algo, al respecto.
Otra cosa, parece que lo que haces es privado, pero tu nivel de consulta es tan alto para mi por ejemplo que si no pones un ejemplo real de tu problema no podemos comprobar si funciona o no, claro que tu sí, pero esto es muy lento, hacer y enviar para que tu des una respuesta pues, no me vale de mucho.
Saludos.
|
#25 Martes, 22 Octobre 2019, 10:45 |
|
|
cogier
Charlie Ogier
Aprendiz
Registrado: Septiembre 2018
Mensajes: 99
Edad: 69 Ubicación: Guernsey, Channel Islands
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
|
#26 Martes, 22 Octobre 2019, 15:07 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Prueba este código.
Lo descargue. Voy a investigar.
Saludos.
|
#27 Martes, 22 Octobre 2019, 17:42 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
Prueba este código.
Bueno hice unas pruebas, si ben esta útil para otros escenarios no lo es para el que planteo en este hilo, ya que no hay clase publica y en el formulario secundario se escriben los datos en el principal, que en el ejemplo es determinado pero no sucederá siempre así porque el formulario secundario (y la clase pública que no existe en tu ejemplo) es para crear un componente.
Gracias por el esfuerzo.
Saludos.
|
#28 Martes, 22 Octobre 2019, 21:39 |
|
|
gambafeliz
Analista Programador
Registrado: Julio 2019
Mensajes: 830
Edad: 54
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
tincho yo quisiera ayudar con tu código pero sin un ejemplo y no tu proyecto, como dios manda, me es imposible poder ayudarte, más y mejor. Yo necesito hacer prueba y error así como probar nuevas formas de conseguir lo que tu propones y si no, no hay magia.
Saludos, tu sabes y por mi parte hay ganas de ayudar pero yo llego hasta donde me dejas llegar.
última edición por gambafeliz el Miercoles, 23 Octobre 2019, 16:23; editado 1 vez
|
#29 Miercoles, 23 Octobre 2019, 16:22 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Como Hacer Que Un Formulario Retorne Un Valor Usando Encapsulamiento De Clases.
tincho yo quisiera ayudar con tu código pero sin un ejemplo y no tu proyecto, como dios manda, me es imposible poder ayudarte, más y mejor. Yo necesito hacer prueba y error así como probar nuevas formas de conseguir lo que tu propones y si no, no hay magia.
Saludos, tu sabes y por mi parte hay ganas de ayudar pero yo llego hasta donde me dejas llegar.
Si, tengo perfectamente claro que tienes buena predisposición a colaborar, tranquilo.
El código completo es para un componente que lo liberare con licencia GPL3 así que no hay nada "secreto" pero no quiero complicar la cosa porque el código es mas complejo. Todavía es un proyecto que esta bastante verde e incluso no se si lo dividiré en dos mas sencillos. Créeme, no supondrá ninguna mejora en el entendimiento en el ejercicio de hacer que un formulario devuelve un numero entero.
Si te interesa el código del componente lo pondré en unas semanas en el foro y en github supongo y si quieres te sumas al proyecto.
Saludos.
|
#30 Miercoles, 23 Octobre 2019, 20:59 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 3 de 4
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|