Hola Martín!
El siguiente código está malo:
Código Delphi
[-]procedure TForm1.BotVersusClick(Sender: TObject);
begin
with TForm2.Create(Self) do
try
Show;
finally
Free;
end
end;
Estás liberando el formulario inmediatamente después que lo creas. Intenta con este código:
Código Delphi
[-]procedure TForm1.BotVersusClick(Sender: TObject);
begin
TForm2.Create(Self).show;
end;
En el evento "
OnQueryClose" del
Form2, agrega el siguiente código:
procedure TForm2.OnQueryClose(...);
begin
action := caFree;
end;
A cómo te ha dicho Casimiro, las imágenes estaban muy mal administradas. Pero no te preocupes, así es cómo uno aprende
Si ahora vas a utilizar imágenes almacenas en objetos
TImage, puedes adaptar tu viejo código de la siguiente manera:
Código Delphi
[-]procedure TForm2.BotRepartirMouseEnter(Sender: TObject);
begin
Self.BotRepartir.Picture := Image1.Picture;
end;
procedure TForm2.BotRepartirMouseLeave(Sender: TObject);
begin
Self.BotRepartir.Picture := Image2.Picture;
end;
Fíjate que en código no utilizo la variable "
Form2". En su lugar utilizo una variable especial llamada
Self. Utilizar esta variable es la forma más segura para manipular el formulario/clase con código dentro de la misma clase.
Saludos!