ich habe es wohl nicht so mit Klassen, eigenen Komponenten und Vererben (vererben klingt auch so negativ irgendwie)
also die Elternklasse ist TGraphicControl..
Ich erstelle eine neue Komponente TT
die sieht dann erstmal nackt so aus:
Delphi-Quellcode:
unit Test;
interface
uses
System.SysUtils, System.Classes,
Vcl.Controls;
type
TTest =
class(TGraphicControl)
private
{ Private-Deklarationen }
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
TEest', [TTest]);
end;
end.
Funktioniert soweit.
wenn ich jetzt diese Komponente auf ne Form ziehe und folgenden Code habe als Beispiel:
Delphi-Quellcode:
procedure TFMain.BtnTestCompClick(Sender: TObject);
var
aComp: TComponent;
aComp_Name: string;
begin
aComp_Name := 'Test1';
aComp := FMain.FindComponent(aComp_Name);
(acomp as TGraphicControl).Height := 200;
end;
läuft das Progrämmchen auch, aber es kommt eine Zugriffsverletzung bei der letzten Zeile mit "acomp as'.
Habe bestimmt nur ne Kleinigkeit übersehen? Die Eigenschaft height ist ja standardmässig auch vorhanden in TGraphicControl