Hallo,
schau mal:
Delphi-Quellcode:
interface
uses
Classes;
type
TDemoComponent = class(TComponent)
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
end;
implementation
procedure TDemoComponent.GetChildren(Proc: TGetChildProc; Root: TComponent);
var
i: Integer;
begin
for i := 0 to Pred(ComponentCount) do
if not Components[i].HasParent then
Proc(Components[i]);
end;
Wenn du ComponentA in deinem Testprojekt aus der Klasse TDemoComponent erzeugst und einen Haltepunkt in der Methode GetChildren() einbaust, dann wirst du schon sehen.
Du solltest aber schon noch ein wenig Zeit in das Studium der Delphi Streaming Funktionalität investieren, denn nur mit der Methode GetChildren() könntest du sonst schon bald ein Opfer des Eisberg-Syndroms werden. Nimm alleine mal die Methode HasParent. Neben Owner (object life cycle) und Parent (visibility) findest du dort ein weiteres Konzept (active or passive streaming).
Freundliche Grüße