Problem ze stworzeniem klasy

0

Czesc. Napisalem prosta klase i chcialem zeby po kliknieciu na przycisk sie pojawila na formularzu. Niby skladnia poprawna ale efektu nie widac.

unit CardU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TCard = class(TObject)

  private
    { Private declarations }
  public
    { Public declarations }
    Image : TShape;
    constructor Create(AOwner : TComponent);
  end;

implementation

constructor TCard.Create(AOwner : TComponent);
begin
  inherited Create;
  Image := TShape.Create(nil);
  Image.Left := 100;
  Image.Top := 200;
  Image.Width := 200;
  Image.Height := 200;
  Image.Shape := stCircle;
  Image.Visible := True;
  Image.Brush.Color := clWhite;
end;

end.
0

Klasa zeby sie pojawila? Czy moze TShape ktorego tam zrobiles? Zakladajac, ze jako parametr kontruktora podajesz formatke to Image.Parent := AOwner.

0

Chodzi o to zeby sie Shape pojawil.
Spaby jestem jeszcze w zagadnieniach zwiazanych z klasami wiec nie wiem jak ten konstruktor dobrze stworzyc. Chcialem po prostu odziedziczyc konstruktor po tObject, nie wiem czy to dpbrze zrobilem, moze inaczej powinienem go zadeklarowac.
A to co podales to gdzie to powinienem umiescic? W konstruktorze?

0

Albo tak albo Image := TShape.Create(AOwner);

0
Ad napisał(a)

Albo tak albo Image := TShape.Create(AOwner);

to nic nie da bo tak przypisujesz ownera a nie parenta a to dwie różne rzeczy - musi być jeszcze to co Wolverine napisał

1 użytkowników online, w tym zalogowanych: 0, gości: 1