[Lazarus-es] EXC_BAD_ACCESS al hacer un close de un form

JoshyFun joshyfun en gmail.com
Jue Jun 25 18:50:49 CEST 2009


Hello Giuseppe,

Thursday, June 25, 2009, 6:23:33 PM, you wrote:

GLP> Se me tiene que haber olvidado programar :D, las medicinas (que estos
GLP> días ando malo), me tienen el cerebro frito, o no se qué :P

No hombre, simplemente creo que estás acostumbrado a que Delphi
instancie los forms por ti, y en este programa lo has hecho de manera
diferente y de ahí la confusión.

Visto que no llegábamos a un "acuerdo" me he bajado tu código y
comprobado que no había nada que no tuviera en cuenta.

Delphi cuando instancia un form por ti, lo haría así:

frmClientes:=TFrmClients.Create(nil);

o bien

Application.CreateForm(TfrmClientes,frmClientes)

En ambos casos instancia la variable NO ASIGNADA ( la mayúsculas no son
para gritar, es que no tengo subrayado ;) ) frmClientes, pero como lo
has hecho tu sobre otra variable diferente, "frmClientes" apunta a
donde Dios quiera menos a donde debería. Esto es por que la variable
de tipo TfrmClientes llamada frmClientes no se asigna al form actual
por defecto, como creo deducir que crees por tu explicación, si no que
hay que asignarla por código.

Para comprobarlo en el formCreate en la primera linea pon:

frmClientes:=Self;

verás que no hay más errores. O en el onclick que crea el form,
cambia:

form:=TfrmClientes.Create;

por

frmClientes:=TfrmcClientes.Create;

Tiene que funcionar ;)

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list