Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Adresse eines Objektes im Textfeld anzeigen (https://www.delphipraxis.net/101709-adresse-eines-objektes-im-textfeld-anzeigen.html)

bernie110 17. Okt 2007 17:11


Adresse eines Objektes im Textfeld anzeigen
 
Hallo,
ich möchte gerne die Adresse eines Objektes in einem Textfeld ausgeben, finde aber keine Routine dafür. Genauer gesagt: ich weiß nicht, wie man einen Pointer in ein Integer wandeln kann :(
In der "Liste der überwachten Ausdrücke" in der Borland-IDE geht es jedenfalls - also müsste ich es doch auch programmieren können.

In einem anderen Thread habe ich etwas von TMethod gelesen, aber damit komme ich auch nicht weiter :(

Ein Codeversuch habe ich hier:
Delphi-Quellcode:
var
   oElem: TObject;
   m1: TMethod;
begin
   {do something}
   if Assigned(oElem) then begin
      Edit1.Text := IntToHex( oElem );
      //oder
      m1.Data := oElem;
      Edit1.Text := IntToHex( m1.Data );
// Beides ergibt Fehler E2250 Es gibt keine überladene Version von 'IntToHex',
// die man mit diesen Argumenten aufrufen kann
   end;
end;
Kann mir jemand helfen und sagen, wie es richtig sein muss?

Danke im Voraus!

Bernie

_frank_ 17. Okt 2007 17:13

Re: Adresse eines Objektes im Textfeld anzeigen
 
ein einfacher cast nach integer sollte reichen, mir ist allerdings schleierhaft, wo der Nutzen ist, da sich der zeiger jedesmal ändert...

Delphi-Quellcode:
Edit1.Text := IntToHex(integer(m1.Data),8);
HTH Frank

bernie110 17. Okt 2007 18:11

Re: Adresse eines Objektes im Textfeld anzeigen
 
Danke für die schnelle Hilfe!
Es funktioniert - manchmal ist es einfacher als man denkt ;)

Der Nutzen liegt darin, dass ich in eine Liste von Objekten habe, die ich überprüfen und dazu in einer Schleife die Adressen in einem Memofeld anzeigen lassen will.
Der Versuchscode im Beispiel war halt stark vereinfacht.

Bernie
---
der niemals auslernen wird


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz