Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Cast nach PChar() castet in Wirklichkeit nach PAnsiChar (https://www.delphipraxis.net/182100-cast-nach-pchar-castet-wirklichkeit-nach-pansichar.html)

p80286 30. Sep 2014 13:08

AW: Cast nach PChar() castet in Wirklichkeit nach PAnsiChar
 
Zitat:

Zitat von Neutral General (Beitrag 1274341)
Die große wichtige Aussage hier ist, dass Casten (abgesehen von einigen speziellen Compiler-Magic-Fällen) nicht die Daten sondern die Interpretation der Daten ändert.

Das ist genauso wie beim Umbenennen von Dateien.
Das Umbenennen von Bild.bmp in Bild.png ändert an der Datei gar nichts und wandelt natürlich auch nicht das Bitmap in ein PNG um. Genauso ist es mit dem Casten.

Eigentlich hatte ich angenommen, daß das selbstverständlich ist, ist aber wohl nicht. Da gehen uns die Unicode/UTF8/Ansi-Themen wohl so schnell nicht aus:(

Gruß
K-H

himitsu 30. Sep 2014 13:22

AW: Cast nach PChar() castet in Wirklichkeit nach PAnsiChar
 
Die Compiler-Magic-Funktion "PChar" macht im Prinzip Folgendes:

Delphi-Quellcode:
function StringToPChar(const S: String): PChar;
const
  Leer: String = #0#0;
begin
  if S <> '' then
    Result := Pointer(S) // Result := @S[1]
  else
    Result := @Leer[1];
end;
und schon wird klar, warum der "Cast" nicht zwischen Ansi und Unicode umwandelt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.
Seite 2 von 2     12   

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