Einzelnen Beitrag anzeigen

Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#1

Was ist der Unterschied @Obj und Pointer( Obj )

  Alt 4. Mär 2005, 12:15
scheinbar gibt es einen Unterschied von @Obj und Pointer( Obj ) richtig?
Aber was unterscheidet sie genau?
Was machen Sie?

Ich erstelle mal ein Objekt:
Delphi-Quellcode:
Var Obj1, Obj2: TObject;
    ptr: Pointer;
  Obj1 := TObject.Create; Versuch eins es freizugeben:
Delphi-Quellcode:
  //   Fehler
  ptr := @Obj1;
  Obj2 := TObject( ptr );
  FreeAndNil( Obj2 );
Hier gibts ein Fehler...

Versuch zwei es freizugeben:
Delphi-Quellcode:
  //   kein Fehler
  ptr := Pointer( Obj1 );
  Obj2 := TObject( ptr );
  FreeAndNil( Obj2 );
Geht

Versuch drei freizugeben:
Delphi-Quellcode:
  //   kein Fehler
  ptr := @Obj1;
  Obj2 := TObject( ptr^ );
  FreeAndNil( Obj2 );
Geht

Ist sozusagen Pointer( x ) = ( @x )^ ????



Bye

Edit Ende...
Christian
  Mit Zitat antworten Zitat