Jup ist von TComponent,
bei SetSubComponent(true), erzeugt er nix mehr im Quelltext und formular.
habs mal als mini Test zusammengepackt, beim klicken auf "..." beim property DummyAdd legt er die an.
Ich weiss das da grade der Bezug von der neuen Komponente zum Master fehlt, zum testen für euch hab ich alles weg gelassen
Delphi-Quellcode:
Type
TTestComp=class(TComponent)
private
FWert: string;
published
property Wert:string read FWert write FWert;
end;
TTestCompMaster=class(TComponent)
private
FDummyAdd: string;
published
property DummyAdd:string read FDummyAdd write FDummyAdd;
end;
//......
//aus register...
procedure Register;
begin
RegisterComponents('DPTest', [TTestComp]);
RegisterComponents('DPTest', [TTestCompMaster]);
RegisterPropertyEditor(TypeInfo(string),TTestCompMaster,'DummyAdd',TTcTest_PropertyEditor);
end;
procedure TTcTest_PropertyEditor.Edit;
var tc:TComponent;
begin
// Showmessage('EDIT');
if GetComponent(0) is TComponent then
tc:=TTestCompMaster(GetComponent(0));
if not Assigned(tc) then exit;
if tc.Owner is TForm then
with TTestComp.Create(tc.Owner) do
begin
//SetSubComponent(true);
Name:=GetUniqueName(Owner,ClassName);
end;
// Showmessage('EDIT ENDE');
end;