![]() |
Pointer-Adresse (wie in C++) ausgeben
Hallo zusammen!
Nachdem ich nun schon einige Male unsanft mit dem Kopf auf den Schreibtisch schlug, möchte ich Euch um Rat bitten. In C++ ist es mir ein leichtes, die Adresse, auf die ein Pointer zeigt, ausgeben zu lassen. In Delphi schaffe ich das einfach nicht. Auch mein Kollege schüttelt nur mit dem Kopf. Unser Pointertyp:
Delphi-Quellcode:
Wir würden nun gern etwas in dieser Richtung machen:
type PMessage = ^TMessage;
TMessage = record caller: string; called: string; data: string; transactionId: string; time: TDateTime; server: string; mandant: string; db_server: string; db_db: string; text: string; short_text: string; datacall: string; DBConIdx:integer; geekPointer:Pointer; end;
Delphi-Quellcode:
Das geht aber nicht. Das kann doch nicht so schwer sein :oops:
var pmsg:PMessage;
new(pmsg); memo1.lines.add('Adresse='+inttostr(pmsg)); Hilfe! [edit=Phoenix]Titel angepasst. Mfg, Phoenix[/edit] |
Re: Zeig' dich, Du Adresse!!
Bin kein C++ experte, aber meinst du mit Pointer den Pfad, sprich C:\Bla......
Inttostr Macht aus einem Integer ein String, aber der Pfad C:\Bla... ist string, bei C:\bal.exe Filename. |
Re: Zeig' dich, Du Adresse!!
Delphi-Quellcode:
Musst den Zeiger casten nach Integer bzw. Cardinal.
memo1.lines.add('Adresse='+inttostr(cardinal(pmsg)));
oder sauberer
Delphi-Quellcode:
Gruß Hagen
memo1.lines.add(Format('Adresse=$%0.8p', [pmsg]));
PS: beachte das deine Strings=type LongString in diesem Record ebenfalls nur Zeiger auf Records im Speicher sind. Du kannst also nicht einfach einen kompletten Record binär in eine Datei speichern und wieder laden. |
Re: Zeig' dich, Du Adresse!!
Vielen Dank! Das funktioniert :D
|
Re: Zeig' dich, Du Adresse!!
Bitte ändere den Titel in was Vernünftiges. :warn:
Du bist lang genug in der DP um das eigentlich besser zu wissen. |
Re: Zeig' dich, Du Adresse!!
Das darf ich doch nur innerhalb von 24 Stunden. Und Du bist bestimmt lang genug Moderator, um das zu wissen :cheers:
|
Re: Zeig' dich, Du Adresse!!
Zitat:
|
Re: Pointer-Adresse (wie in C++) ausgeben
Ich gelobe dafür feierlich, mich zu bessern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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