Einzelnen Beitrag anzeigen

Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Pointer auf Instanz zurückgeben

  Alt 8. Mai 2022, 18:09
Weil ich in einer Anwendung eine Methode ersetzen will, die bereits existent ist und an vielen Stellen verwendet wird. Das Ding selbst ist in Assembler geschrieben und gibt mir einen Pointer auf ein Objekt zurück.

Das muss doch auch in Pascal irgendwie gehen? Und wieso verschwindet das Objekt, obwohl niemand es freigibt?
Weil in der procedure die Adresse der lokalen Variablen zurückgegeben wird

Delphi-Quellcode:
procedure Test(var Zeiger: PMyClass);
var
  MyObject: TMyClass;
begin
  MyObject := TMyClass.Create;
  MyObject.Wert := 1234;
  Zeiger := @MyObject; // Das zeigt jetzt auf die lokale Variable auf dem Stack
end;
Das kann so nicht funktionieren
Fritz Westermann
  Mit Zitat antworten Zitat