Formulario Auxiliar
Saludos,
Tengo un formulario auxiliar que generó en modo ejecución y utilizo para establecer unos filtros previos a un listado. Una vez fijados estos valores y regresar al principal, no puedo recuperar los valores del form.auxiliar. El código que utilizo es el siguiente: Código:
TFauxiliar = class(TForm) He seguido el hilo de roman pero sin tener éxito. http://www.clubdelphi.com/foros/show...ecucion+create Alguna sugerencia??? |
Prueba esto en la llamada:
Código:
|
Acabo de probarlo y a mí me funciona correctamente. Para terminar de probarlo he puesto un TButton en el TFauxiliar asignándole "mrOk" en la propiedad "ModalResult" del TButton.
|
Prueba a crear el formulario auxiliar con Application.CreateForm(TFauxiliar, Fauxiliar);
Código:
TFauxiliar = class(TForm) Salu2 Er_Manué |
¿Exactamente en qué línea te da el error? ¿Lo has "debuggado" (...ufff que mal suena esto...)? ¿No estarás liberando el form auxiliar en el OnDestroy con caFree?
El código en sí no parece tener errores; ¿Tienes algo més puesto en los eventos de Close/destroy? |
He probado con vuestros consejos y he de comunicaros que el ganador ha sido ...... Er_Manué (es broma)
Haciendo Application.CreateForm(TFauxiliar, Fauxiliar) puedo recuperar los valores sin ningún problema, aunque sigo mosqueadillo de porque no ha funcionado con TFauxiliar.Create([nil,self]) porque la única programación que tengo en el auxiliar es la de asignar a la variable pública el valor del objeto. En fín, Muchiiiiiiiiiiiisimas Gracias a tod@s |
weeeeeeee!! gracias!! plas plas muchas gracias!! nunca espere esto!! sniff.... :D
A mi me pasaba lo mismo si no ponia los formularios en auto-create Forms, que no es más que Application.CreateForm(..,..); pero no tengo demasiado claro el por qué, pero funciona ;) Salu2 |
Una crítica constructiva:
La programación no es cosa de suerte. Antes de adoptar una "solución" porque quien-sabe-por-qué-pero-así-me-ha-funcionado es recomendable revisar y entender el porque de las cosas. En este caso, por ejemplo, se termina por utilizar algo que por regla general se contra recomienda: dejar los formularios en el AutoCreate o acceder directamente a las variables globales que Delphi declara, y todo cuando la técnica original debe funcionar correctamente pero alguna otra cosa nos está estorbando. Quizá, como dice Neftali, se pone Action := caFree en el evento OnClose del formulario auxiliar. // Saludos |
Estoy totalmente de acuerdo contigo Roman, lo que sucede que normalmente debido a esos "maravillosos plazos de entrega" que tan holgadamente nos "proponen" nuestros "queridos" jefes :D si algo funciona, ¡ ni lo toques ! por que no hay más tiempo :( pero realmente eso únicamente provoca arrastrar cada vez más errores, como una bonita bola de bugs...digo de nieve ;)
Salu2 |
La franja horaria es GMT +2. Ahora son las 05:24:13. |
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