Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Kniffliges Problem beim Serialisieren

  Alt 8. Feb 2007, 10:00
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
  Mit Zitat antworten Zitat