Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TSHFileOpStruct - Wieviele Null-Terminatoren braucht der Mensch? (https://www.delphipraxis.net/202995-tshfileopstruct-wieviele-null-terminatoren-braucht-der-mensch.html)

Guido Eisenbeis 6. Jan 2020 02:10

AW: TSHFileOpStruct - Wieviele Null-Terminatoren braucht der Mensch?
 
Danke für die Info! :)

Luckie 6. Jan 2020 07:31

AW: TSHFileOpStruct - Wieviele Null-Terminatoren braucht der Mensch?
 
Zitat:

Zitat von himitsu (Beitrag 1454473)
Im "String" ist die #0 drin, aber deine Variable (bzw. der Teil des Records), welche du anzeigen lässt,
ist ein PChar und der ist natürlich 0-terminiert,
also endet hier die Auswertung somit bei/vor der ersten #0, unabhängig davon ob der Speicher, auf welchen dieser PChar zeigt, mehr Nullen enthält.

Das hat dann natürlich nichts damit zu tun, dass die verwendete API diesen PChar-Zeiger als Liste auswertet.
Es wäre natürlich praktisch, wenn es dafür einen eigenen Listen-PChar-Typen gäbe, wo dann auch der Debugger weiß, dass bei diesem Typen eine #0 enthalten sein kann und die Anzeige erst beim #0#0 endet.

Also einen Datentyp nur für den Debugger?

himitsu 7. Jan 2020 15:02

AW: TSHFileOpStruct - Wieviele Null-Terminatoren braucht der Mensch?
 
Auch als Dokumentation für den Entwickler, denn bei PChar bzw. LPCSTR usw. denkt doch jeder erstmal an "endet mit #0".

Gäbe es einen eigenen Typen, dann wüssten Entwickler und Debugger sofort, dass es hier bis #0#0 geht. (ohne die Dokumentation für diese spezielle Variable/Parameter zu kennen)
Wie z.B. beim TDateTime, der ja eigentlich auch nur ein Double ist, den der Debugger aber "verständlicher" Darstellen kann. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.
Seite 3 von 3     123   

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