Destruir botón

Hola,
¿Alguien me puede ayudar con esto?
Necesito destruir un botón que creo en tiempo de ejecución, solo que al utilizar free, a veces me marca un error
"Access violation at address..."
el codigo del evento es el siguiente
if Sender is TButton then
begin
with Sender as TButton do
Begin
ShowMessage('Hola mundo');
Free;
End;
End;
despues de eso me marca el error,
aunque no es siempre a veces si y a veces no me lo marca.
Ojala me puedan ayudar
Saludos.

1 respuesta

Respuesta
Lo siento pero no te entiendo lo que me quieres decir
No es la manera adecuada de trabajar. Debes eliminar elbotón desde fuera del eventodel propio botón.
Destruyéndolo desde el evento onclose del formsería suficiente. Ten en cuenta que deberías tener definida una variable visible atodo el form para luego desde el close poder hacer referencia a ella.
Ej.
...
private
Boton : TButton;
Procedure alClick(sender : TObject);
public
...
end;
...
En el evento oncreate del form:
Boton := TButton.create(self);
boton.onclick := alclick;
procedure alClick(sender : TObject)
begin
showmessage('Hola');
end;
En el evento onclose del form:
Boton.free;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas