Einzelnen Beitrag anzeigen

bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#3

Re: Neue Klasse von Komponente ableiten --> wie?

  Alt 31. Jul 2004, 23:10
naja, so geht das aber nicht.

du hast richtig von einer komponente abgeleitet, du hast aber einfach den Typ der auf der Form vorhandenen Komponente im Quelltext verändert.

Delphi speichert die auf der Form enthaltenen Angaben nicht nur im Form1 = class(TForm)-Teil (indem jeder Button, jedes Label, ... hier auftaucht), sondern auch in der zur Form gehörigen DFM-Datei.

Wenn Du ein Objekt von einer Komponente ableiten möchtest, dann mußt Du es im Programmteil erzeugen. Also:

Delphi-Quellcode:
type
  TMyButton = class(TButton)
  // ...
  end;

  TForm1 = class(TForm);
  // alle von Delphi eingefügten Komponenten die man auch auf
  // der Form sieht, also Burttons, Labels, ...
  private
    FMyButton: TMyButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    ....
  end;

...

procedure TForm1.FormCreate(Sender);
begin
  FMyButton := TMyButton.Create;
  FMyButton.Left := 12;
  FMyButton.....
  ...
end;
In FormDestroy (oder FormClose) mußt Du dann noch deine von der Komponente abgeleitete Instanz freigeben.
  Mit Zitat antworten Zitat