Ver Mensaje Individual
  #10  
Antiguo 08-06-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
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!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita