Einzelnen Beitrag anzeigen

Rolf Frei
Online

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Ein Objekt in einer Funktion zerstören

  Alt 30. Sep 2020, 14:19
Noch eine Anmerkung: Du verwendest da den Begriff Class in deinen Variablen, es sind aber anscheinend Objekte und nicht Klassen. Das sind zwei sehr unterschiedliche Sachen. Eine Klasse kannst du übergeben um dann in der Funktion ein Objekt der Klasse zu erstellen.

TObject ist ein Objekt (Instanz einer Klasse), TClass ist eine Klasse mit der du ein Objekt erstellen kannst:

Delphi-Quellcode:
type
  TMyObject = class(TObject)
  public
    function TueIrgendwas(): Boolean;
  end;
  TMyObjectClass = class of TMyObject;

{ TMyObject }

function TMyObject.TueIrgendwas: Boolean;
begin
  Result := true;
end;


function MyFunction(AMyClass: TMyObjectClass ): Boolean;
var
  MyObject: TMyObject;
begin
  MyObject := AMyClass.Create;
  try
    Result := MyObject.TueIrgendwas();
  finally
    MyObject.Free;
  end;
end;

Geändert von Rolf Frei (30. Sep 2020 um 14:22 Uhr)
  Mit Zitat antworten Zitat