AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt als published property

Ein Thema von Angel4585 · begonnen am 7. Sep 2006 · letzter Beitrag vom 7. Sep 2006
Antwort Antwort
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Re: Objekt als published property

  Alt 7. Sep 2006, 10:44
Hi,

ich glaub du willst in eine ganz andere Richtung. Kann es sein, dass du nur die Eigenschaften deines eingebundenen Objectes zum Ändern im Objektinspektor anzeigen willst?

Dann mußt du eine "Wrapper-Klasse" schreiben!

Ich hab dir einen ansatz mal zusammengeschrieben (getestet)

Delphi-Quellcode:
unit Test;

interface

uses
  SysUtils, Classes;

type
  TAnLeUser = class;

  TUserData = class(TPersistent)
    private
      FOwner : TAnLeUser;
    function GetID: Integer;
    procedure SetID(const Value: Integer);
    public
      constructor create(AOwner : TAnLeUser); reintroduce;
    published
      property ID : Integer read GetID write SetID;
    end;


  TAnLeUser = class(TComponent)
  private
    FUserData : TUserData;
    FID: Integer;
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    property ID : Integer read FID write FID;
  published
    { Published-Deklarationen }
    constructor Create(AOwner : TComponent);override;
    property Userdata : TUserdata read FUserdata write FUserData;
    property Name;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('oki', [TAnLeUser]);
end;

{ TAnLeUser }

constructor TAnLeUser.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FUserData := TUserData.Create(self);
end;

constructor TUserData.create(AOwner: TAnLeUser);
begin
  FOwner := AOwner;
end;

function TUserData.GetID: Integer;
begin
  IF not assigned(FOwner) then Exit;
  Result := FOwner.ID;
end;

procedure TUserData.SetID(const Value: Integer);
begin
  IF not assigned(FOwner) then Exit;
  FOwner.ID := Value;
end;

end.
gruß oki
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz