probelas al usar un mismo formulario para abrirlo en dos mas
buena tarde si es posible que me ayudes con un error que tengo ; es que estoy usando un formulario frmproductolist lo abro este formulario se abre desde dos formularios distinto uno es frmsalida y el otro frmentrada desde cualquiera de los dos llamo y abro frmproductoslist con este código
si se abre desde frmentrada y se realiza el procedimiento coloca los datos en EdtProducto.Text de frmentrada y luego voy a frmsalida y mando a cargar los datos enEdtProducto.Text de frmsalida y me lanza un error; acces violation at addres 00572eddv modulo . read of addres 20202056 para cargar los datos a los formularios lo hago a si desde frmproductolist
aaa y en el evento onclose de frmproductolist estoy agregando este codigo que error estoy cometiendo; les agradezco de antemano |
Hola, lo que sucede es que estás liberando el objeto, al intentar acceder nuevamente, se genera el error.
Puedes o crear y liberar el objeto en cada uso
|
Si necesitas acceder a un formulario no puedes cerrarlo (caFree) sino que tienes que ocultarlo (caHide), trabajar con él, mostrarlo cuando lo necesites y cerrarlo definitivamente cuando termines de usarlo.
|
Lo primero que yo haría es ejecutar paso paso la aplicación poner algun breakpoint en esos lugares y ver si "salta" el error. Así sabrás seguro la línea donde falla. Por lo otro lado comentar estas tres líneas que he marcardo porque son las que pienso que te pueden dar problemas. (1) Liberas el formulario manualmente con Free. Bien hasta ahí, el problema es que en la (3) utilizar caFree que indica al propietario que haga lo mismo. Por lo tanto estarás intentando liberar el formulario 2 veces. Eso es candidato a un error de "Access Violation". En este caso en la línea (3) puedes usar un caNone o caFree. (2) Estás liberando algo que aquí no vemos dónde se crea. Si es algo que has creado tú, bien, si no lo has creado tú de forma expresa, es posible que esté pasando lo mismo que antes; que se esté intentando liberar 2 veces. Por lo tanto si es así vuelve a ser candidato a un "Access violation". |
La franja horaria es GMT +2. Ahora son las 23:48:59. |
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