Einzelnen Beitrag anzeigen

enigma

Registriert seit: 15. Jun 2008
47 Beiträge
 
#6

AW: Typumwandlung: Elemente der Unterklasse in Oberklasse

  Alt 11. Jul 2024, 08:02
Kurzer Nachtrag: ich habe mehrere Unterklassen, die als Parameter für TOberklasse.Test(AObj: TOberklasse) verwendet werden können. Der Übersicht halber habe ich nur eine Unterklasse aufgeführt. Deshalb klappt das mit procedure Test(AObj: TUnterklasse); leider nicht.

Bei mir klappt das ganz wunderbar.
Delphi-Quellcode:
type
  TUnterklasse = class; // Forward-Deklaration

  TOberklasse = class
  public
    procedure Test(AObj: TUnterklasse); //ich habe mehrere Unterklassen!!!
  end;

  TUnterklasse = class(TOberklasse)
  public
    function TestMethode: String;
  end;

{ TOberklasse }

procedure TOberklasse.Test(AObj: TUnterklasse);
begin
  if Assigned(AObj) then
    ShowMessage(AObj.TestMethode);
end;

{ TUnterklasse }

function TUnterklasse.TestMethode: String;
begin
  Result := 'Wuppdi';
end;

...

procedure TForm5.Button1Click(Sender: TObject);
var
  lOberObj: TOberklasse;
  lUnterObj: TUnterklasse;
begin
  lUnterObj := nil;
  lOberObj := TOberklasse.Create;
  try
    lUnterObj := TUnterklasse.Create;
    lOberObj.Test(lUnterObj);
  finally
    lOberObj.Free;
    lUnterObj.Free;
  end;
end;

Geändert von enigma (11. Jul 2024 um 08:18 Uhr)
  Mit Zitat antworten Zitat