Thema: Delphi ADS - Fullname

Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#9

Re: ADS - Fullname

  Alt 1. Feb 2007, 13:30
Zitat von Alter Mann:


Da jedoch S := usr.FullName; auch nur eine Referenz ist und damit auch
  Result := S; werden auch diese Referenzen gelöscht, und es kommt zur Zugriffsverletzung.
Hallo!

Ich habe immer gedacht, ich verstehe etwas von Interfaces, aber du bringst mich ziemlich in Verwirrung.

S := usr.FullName; ist doch letztendlich nichts anderes als der Aufruf der im Interface deklarierten Methode Get_FullName und eben Zuweisung des Ergebnisses dieser Methode an eine Variable. Was soll an diesem Befehl denn nun eine Referenz sein? Und was soll denn da an Referenzen gelöscht werden?
Solange die Variable USR weder auf NIL gesetzt wird noch "out of scope" geht (also z.B. bei lokalen Variablen beim Verlassen einer Prozedur), wird da keine Referenz freigegeben.

Was genau willst du also eigentlich sagen? Eine Erklärung, wieso es bei meiner Variante klappt, und bei der ursprünglichen nicht, sehe ich hier nicht...

Cu,
Udontknow
  Mit Zitat antworten Zitat