Forum: Object-Pascal / Delphi-Language
Delphi
by JasonDX,
19. Jan 2009
Die Variablen enthalten Referenzen, d.h. Adressen auf ihre Objekte. Bspw. Items zeigt auf Objekt A, und Items auf Objekt B. Wenn jetzt SwapIt aufgerufen wird
SwapIt(Self.Items, Self.Items);
procedure TContactCollection.SwapIt(Contact1, Contact2: TContact);dann zeigt Contact1 auf A, und Contact2 zeigt auf B. Nach dem Vertauschen zeigt Contact1 auf B, und Contact2 zeigt auf A. Der Inhalt, sprich...
Forum: Object-Pascal / Delphi-Language
Delphi
by JasonDX,
19. Jan 2009
Die Methode wird wegoptimiert. Contact1 und Contact2 werden per CallByValue übergeben, d.h. Änderungen bzgl. dieser Variablen haben außerhalb der aufgerufenen Methode keinen Effekt, und werden darin auch nicht weiter verwendet. Somit hat die Methode keinen Einfluss auf den Ablauf oder den Zustand deines Programms, ergo spart sich der Compiler die Arbeit und ruft die Methode gar nicht auf. Um die...