Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

Gleichnamige Eigenschaft in verschiedenen Klassen ansprechen

  Alt 12. Aug 2016, 13:03
Delphi-Version: XE
Hallo,

ich suche nach einer Möglichkeit, wie ich auf eine gleichnamige Eigenschaft, z.B. das Feld "Bezeichnung" in verschiedenen Klassen zugreifen kann.
Derzeit habe ich es so gelöst:

Delphi-Quellcode:
var
  lObject: TObject;
begin
  lObject := GetObject(ID); // Kann ein Verweis auf TClass_1 oder TClass_2 zurückgeben

  if assigned(lObject) then
  begin
    if lObject is TClass_1 then
      with lObject as TClass_1 do
       Text := Bezeichnung
    else if lObject is TClass_2 then
      with lObject as TClass_2 do
       Text := Bezeichnung;
  end;
end;
Das ist aber bei umfangreichen Arbeiten mit der Klasse aufwändig, da alles doppelt implementiert ist. Im realen Fall sind es auch mehere Eigenschaften die verwendet werden. Möglichkeit wäre natürlich, diese Eienschaften in eine gemeinsame Basisklasse zu legen, dummerweise ist diese aber schon definiert und wird beliebig oft für anders verwendet wo diese Eigenschaften nicht benötigt werden.

Gibt es eine Möglichkeit ohne die Klassenstruktur zu ändern?

Danke
Gerd
  Mit Zitat antworten Zitat