Conversions de chaînes en PChar
Remonter à Utilisation des chaînes
Les conversions de chaînes longues (AnsiString et UnicodeString) en PChar ne sont pas automatiques. Certaines différences entre les chaînes et les PChars peuvent rendre la conversion problématique :
- Les chaînes longues utilisent le comptage de références, mais pas les
PChars
. - L'affectation d'une chaîne longue copie les données alors qu'un
PChar
est un pointeur sur la mémoire. - Les chaînes longues sont à zéro terminal et contiennent également la longueur de la chaîne et d'autres informations, alors que les
PChars
sont seulement à zéro terminal.
Les rubriques suivantes présentent ce qui dans ces différences peut causer des erreurs délicates :
- Dépendances de chaîne
- Renvoi d'une variable locale PChar
- Transfert d'une variable locale comme PChar