![]() |
Wie kann ich einen Pointer ausgeben?
Hallo!
Ich würde gern den Wert eines Pointer ausgeben. Also nicht das worauf der Pointer zeigt, sondern den Zeiger selbst. Wenn ich das richtig verstanden habe, ist ein Pointer ja nichts anderes als eine Variable in der die Speicheradresse gespeichert ist, unter der die eigentlichen Daten zu finden sind. Also müsst ich diese Adresse ja auch irgendwie ausgeben können. Aber wie? Es ist ja kein String oder ein Int den mit showMessage(MyPoint) oder showMessage(IntToStr(MyPointer)) ausgeben könnte... Besten Dank Ares |
Re: Wie kann ich einen Pointer ausgeben?
Da ein Pointer intern nichts anderes als ein Integer mit Flügeln, kannst du denselben ganz einfach (und der Konvention folgend) mit
Delphi-Quellcode:
in einen String umwandeln.
IntToHex(Integer(ptr), 8)
|
Re: Wie kann ich einen Pointer ausgeben?
Delphi-Quellcode:
Das funktioniert leider nicht: Es gibt keine überladene Version von 'IntToHex', die man mit diesen Argumenten aufrufen kann.
type pStr = ^string;
var ps : pStr; ... showMessage(IntToHex(ps,8)); |
Re: Wie kann ich einen Pointer ausgeben?
schau dir nochmal genau an was Dax gepostet hat. Wenn du es genau so machst funktioniert es auch!
bzw. sollte es so aussehen:
Delphi-Quellcode:
deine eine negative Speicheradresse wäre mir neu.
IntToHex(Cardinal(ptr), 8)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz