AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekt als published property

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

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Objekt als published property

  Alt 7. Sep 2006, 10:13
OK hier das Original:
Delphi-Quellcode:
unit AnLeUser;

interface

uses
  SysUtils, Classes;

type

  TUserData = class(TObject)
    private
      FID : Integer;
      FNick : string;
      FICQ : string;
      FAIM : string;
      FMSN : string;
      FYAHOO : string;
      FSKYPE : string;
      FEMAIL : string;
      FHP : string;
      FProfil : string;
      FBDay : TDateTime;
      function GetBDay: TDateTime;
    published
      property ID : Integer read FID write FID;
      property Nick : string read FNick write FNick;
      property ICQ : string read FICQ write FICQ;
      property AIM : string read FAIM write FAIM;
      property MSN : string read FMSN write FMSN;
      property YAHOO : string read FYAHOO write FYAHOO;
      property SKYPE : string read FSKYPE write FSKYPE;
      property EMAIL : string read FEMAIL write FEMAIL;
      property HP : string read FHP write FHP;
      property BirthDay : TDateTime read GetBDay write FBDay;
      property Profil : string read FProfil write FProfil;

    end;


  TAnLeUser = class(TComponent)
  private
    FUserData : TUserData;
    function GetUserdata: TUserdata;
    procedure SetUserData(const Value: TUserdata);
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    constructor Create(AOwner : TComponent);override;
    property Userdata : TUserdata read GetUserdata write SetUserData;
    property Name;
  end;

procedure Register;

implementation

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

{ TAnLeUser }

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

function TUserData.GetBDay: TDateTime;
begin
if FBDay > 1 then
  Result := Round(FBDay)
else Result:=StrToDateTime('01.01.2000 00:00:00');
end;

function TAnLeUser.GetUserdata: TUserdata;
begin
if not Assigned(FUserData) then
  FUserData:=TUserData.Create;
Result:=FUserData
end;

procedure TAnLeUser.SetUserData(const Value: TUserdata);
begin
if not (Value = nil) then
  FUserData:=Value
else if (Value = nil)and(not Assigned(FUserData)) then
  FUserData:=TUserData.Create;
end;

end.
BTW @ Elvis:

Das geht au net:
Delphi-Quellcode:
procedure DeineKlasse.AfterConstruction;
begin
  inherited;
  fSomeValue := TSomeType.Create();
end;
gleicher Fehler(Und ich habe natürlich meine Klassennamen eingesetzt)
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:02 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