Einzelnen Beitrag anzeigen

TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#3

Re: Zugriff auf vererbte Eigenschaften

  Alt 16. Aug 2006, 23:45
Hallo!
Ich gehe davon aus, dass Du mit einer indizierten Property arbeiten möchtest.
Dann könntest Du die LabelCaptions mit folgender Syntax ansprechen:
aDP[i].LabelText[j] Dazu deklarierst Du Deine Property LabelText im public-Abschnitt (nicht published, das funktioniert nicht) folgendermaßen:

property LabelText [index : integer] : String read GetLabelText write SetLabelText; Deine Getter und Setter Routinen müssen dann so aussehen:
Delphi-Quellcode:
function TDatPanel.GetLabelText(index: integer): String;
begin
  if ((index >= low (flabel)) and (index <= high (flabel))) then
  begin
    Result := flabel [index].Caption;
  end
  else
  begin
    // Fehlermeldung
  end;
end;

procedure TDatPanel.SetLabelText(index: integer; const Value: String);
begin
  if ((index >= low (flabel)) and (index <= high (flabel))) then
  begin
    flabel [index].Caption := Value;
  end
  else
  begin
    // Fehlermeldung
  end;
end;
Zitat:
Und dann noch gemeiner ... Kann man über Scrollbox. ... nach auf die Labels zugreifen?
generell ja. In Deinem jetzigen Aufbau müßtest Du allerdings eine ganze Menge casten.
Ich gehe mal davon aus, dass Du damit liebäugelst, eine Komponente zu bauen, die aus einer Scrollbox besteht, die n Datpanels enthält. In dieser könntest Du dann entsprechend die Properties nach außen durchschleifen.
Du könntest dann in dieser abgeleiteten Scrollbox eine property LabelText einfügen, die über zwei Indexe verfügt, einen für das DatPanel und einen für das Label auf den Panel. Das sähe dann so aus:

Delphi-Quellcode:
TDatScrollBox = class (TScrollBox)
private
    function GetLabelsText(PanelNo, LabelNo: integer): string;
    procedure SetLabelsText(PanelNo, LabelNo: integer; const Value: string);
public
  LabelText [PanelNo, LabelNo : integer]:String read GetLabelText write SetLabelText
end;
Hope it helps

onlinekater

@mkienzler: ?????

@Threadersteller: Titel paßt nicht so ganz, Du möchtest nicht auf vererbte Eigenschaften sondern auf Eigenschaften von Unterkomponenten zugreifen.
Thomas Breitkreuz
  Mit Zitat antworten Zitat