Ver Mensaje Individual
  #4  
Antiguo 20-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.307
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Código Delphi [-]
...
try
    FrmProductoList := TFrmProductoList.Create(application);
    DModulo.reset_producto;
    FrmProductoList.ShowModal;
  finally
    FrmProductoList.Free;      (1)
end;
...

  FrmProductoList.Action.Free;   (2)

...

Action := caFree;     (3)

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".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita