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.