Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con componente (https://www.clubdelphi.com/foros/showthread.php?t=18549)

animal 16-02-2005 04:37:31

Ayuda con componente
 
Hola!, soy medio novato con Delphi y estoy tratando de crear un componente y tengo problemas ya que cuando lo voy a agergar en el formulario me da error!.
Abajo esta todo el código si lo pueden revisar.
X si no se entiende estoy tratando de crear un boton con TImage para poder soportar JPG. Le agrego 3 TPicture de lso tres estados del boton y las cambio cuando se presiona el boton , se mueve sobre o esta normal.
Gracias!
Eduardo

Código Delphi [-]
 
unit BotonJpg;
interface

uses
  SysUtils, Classes, Controls, ExtCtrls, Graphics;

type
  TBotonJpg = class(TImage)
  private
    { Private declarations }
    FPicture: TPicture;
    FPicture1: TPicture;
    procedure SetPicture(Value: TPicture);
  protected
    { Protected declarations }
      procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);override;
      procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);override;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
  published
    { Published declarations }
    property ImagenNormal: TPicture read FPicture1 write SetPicture;

  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TBotonJpg]);
end;

constructor TBotonJpg.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

procedure TBotonJpg.SetPicture(Value: TPicture);
begin
  FPicture.Assign(Value);
end;

procedure TBotonJpg.MouseDown;
begin
  inherited;
  FPicture.Assign(ImagenNormal);
end;

procedure TBotonJpg.MouseUp;
begin
  inherited;
  FPicture.Assign(ImagenNormal);
end;
end.

PD: Sirvio mucho explicar lo que tenia que hacer , he?:D

roman 16-02-2005 07:13:29

¿Par qué quieres un constructor si no haces nada en él?
¿Para qué quieres dos imágenes si sólo usas una?
¿Para qué el MouseDown y MouseUp si asignas la misma imagen?

Usa el constructor para crear FPicture. Nunca la creas así que los "Access violation" están a la orden del día.

// Saludos

animal 16-02-2005 07:49:47

Gracias!!!
 
Apuesto a que no sabias que se podia hacer eso con delphi!! jajaja
Bueno, vere que mas puedo inventar(aunque no ande)...
Es lindo aprender y sobretodo con personas pacientes!!
GRACIAS!!


La franja horaria es GMT +2. Ahora son las 17:22:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi