Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DCE: Zeiger zeigen oder was ist hier die Format Frage ? (https://www.delphipraxis.net/215639-dce-zeiger-zeigen-oder-ist-hier-die-format-frage.html)

paule32.jk 11. Aug 2024 12:42

DCE: Zeiger zeigen oder was ist hier die Format Frage ?
 
Hallo,
Ich möchte gerne mit Format einen Zeiger formatieren, so dass dieser in der Console als hexadezimaler Wert dargestellt wird.
Folgende zwei Codes habe ich:

Delphi-Quellcode:
constructor QChar.Create;
begin
  inherited Create;
  WriteLn('1111');
  ClassName := PChar('QChar');
  ptr_cc := ctor_QChar(PChar('ctor_QChar'), stQChar);
  WriteLn(Format('0x%p',[ptr_cc]));
  WriteLn('3333');
end;
Bei den oben stehenden Code, werden die letzten beiden Zeilen nicht erreicht bzw. es erscheint keine Ausgabe am Bildschirm.

Delphi-Quellcode:
constructor QChar.Create;
begin
  inherited Create;
  WriteLn('1111');
  ClassName := PChar('QChar');
  ptr_cc := ctor_QChar(PChar('ctor_QChar'), stQChar);
  WriteLn(ptr_cc);
  WriteLn('3333');
end;
Bei den oben stehenden Code, werden die letzten beiden Zeilen erreicht bzw. es erscheint die Ausgabe des Pointers sowie die 4 dreien.

Woran kann das liegen, das Delphi das wegoptimiert ?
Ist aber dann nicht die feine englische Art.

jaenicke 11. Aug 2024 15:36

AW: DCE: Zeiger zeigen oder was ist hier die Format Frage ?
 
Wegoptimiert wird das sicher nicht. Hast du einmal zeilenweise durch debuggt, ob Fehler auftreten? Sind neben den Zeilen blaue Punkte?

Du könntest auch IntToHex verwenden, um die hexadezimale Ausgabe zu erhalten.

Nebenbei:
Wenn Namen für Klassen nicht mit dem gewohnten T anfangen, macht das den Quelltext wirklich schwer lesbar.

paule32.jk 11. Aug 2024 16:55

AW: DCE: Zeiger zeigen oder was ist hier die Format Frage ?
 
Danke.
- das mit den IntToHex funktioniert sehr gut
- frage mich aber trotzdem, warum denn Format nicht funktioniert - ist das noch 32-Bit ?

jaenicke 11. Aug 2024 18:13

AW: DCE: Zeiger zeigen oder was ist hier die Format Frage ?
 
Zitat:

Zitat von paule32.jk (Beitrag 1539732)
- frage mich aber trotzdem, warum denn Format nicht funktioniert - ist das noch 32-Bit ?

Wie ich schon schrieb:
Zitat:

Zitat von jaenicke (Beitrag 1539731)
Wegoptimiert wird das sicher nicht. Hast du einmal zeilenweise durch debuggt, ob Fehler auftreten? Sind neben den Zeilen blaue Punkte?


freimatz 12. Aug 2024 08:36

AW: DCE: Zeiger zeigen oder was ist hier die Format Frage ?
 
Und eingestellt, dass Delphi bei Exceptions anhält?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 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