Problem z klasami w Tworzeniu Komponentów.

Problem z klasami w Tworzeniu Komponentów.
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0

Potrzebowałem w swoim komponencie grafiki, ale coś się kaszaniło więc zrobiłem komponent dziedziczący po TImage.
ale teraz się okazuje że potrzebuje drugiej grafiki. Niestety TImage ma tylko jedną właściwość Picture.

Kopiuj
type
  TMojKomponent = class(TImage)
  private
    FFrame       : TPicture;
  protected
    { Protected declarations }
  public
    constructor Create(AOwner : TComponent); override;
    destructor  Destroy; override;
  published
    property Frame      : TPicture   read FFrame      write FFrame;
  end;

procedure Register;

implementation

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

constructor TMojKomponent.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FFrame := TPicture.Create;
end;

destructor TMojKomponent.Destroy;
begin
  FFrame.Free;
  inherited;
end;

No, podręcznikowy przykład. Ale co chwila mi wywala jakieś Acces Violation, potem Abstract Error, i jakieś tam jeszcze.
Jak moge władowć do tego komponentu dwie właściwości które będą przechowywały grafikę ale tylko jedna będzie namalowana na Canvas tego komponentu.

PS; I nie gadajcie mi tu że źle nazwałem temat. Wszystko ładnie działa (nawet inna klasa, bez grafiki) a te TBitmap, TGraphic i TPicture nie.
PSS; Dodałem do uses Graphics i ExtCtrls.

Misiekd
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7923

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.