Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#12

AW: Klasse mit Properties als Property

  Alt 26. Mär 2011, 15:31
In der TBackgroundAlignment befindet sich nur:

Delphi-Quellcode:
type
  TBackgroundAlignment = (baStandard, baLeftToRight, baTopToBottom);
Das kann er mir ja auch anzeigen.

Also ich habe jetzt verschiedene Sachen probiert:

Das mit dem PropertyEditor bekomme ich irgendwie nicht hin, ausser das halt

Delphi-Quellcode:
  TBackGroundProperty = class(TPropertyEditor)
    //Was soll ich hier machen
  end;
@sx2008: TBackGround.Assign hab ich eingebaut, keine Veränderung.

@Uwe: Hab ich auch ausprobiert, hab

Delphi-Quellcode:
{...}
type
  TBackGround = class(TComponent)
    {...}
  end;
 
type
  TMyPanel = class(TPanel)
    private
      FBackGround: TBackGround;
      procedure SetBackGround(Value: TBackGround);
    published
      property BackGround: TBackGround read FBackGround write SetBackGround;
    public
      constructor Create(AOwner: TComponent); override;
  end;

{...}

constructor Create(AOwner: TComponent);
begin
  FBackGround.SetSubComponent(true);
  inherited;
end;
erstellt und auch installiert. Dann habe ich mein anderes Projekt aufgemacht wo ich mir das anschaue und da kommt jetzt Adressfehler. Also mach ich was falsch, aber was!?

Gruß Ninow
Bei Create steht der Klassenname nicht! Es müsste heißen
constructor TMyPanel.Create(..)
Eigne dir die Grundlagen an, falls du das nicht wusstest!
Weiters müsstet du im Konstruktor Speicher für das Feld FBackground allozieren...
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat