String et array sans {$H+}
Bonjour,
{$H+} => "forces the compiler to use ansi-strings when no length is specified". Donc, quand cette directive est absente, on n'utilise pas les ansi-strings.
Pourquoi, sous Windows, le code suivant produit-il l'erreur : fopen.pas(832,43) Error: Incompatible type for arg no. 2: Got "Array[0..8] Of ShortString", expected "Open Array Of AnsiString"
Code:
1 2 3 4 5 6
| unit fOpen;
{$mode objfpc}
interface
[...]
var
aRRayFilesName : array [0..8] of String; |
...alors que celui ci-dessous passe sans problème...
Code:
1 2 3 4 5 6
| unit fOpen;
{$mode objfpc}
interface
[...]
var
aRRayFilesName : array [0..8] of UTF8String; |
... puisque par défaut sans {H+} les strings sont en UTF8 ?
Cordialement. Gilles