Convertir en Char à AnsiChar ou WideChar (Delphi)
Je me suis mise à niveau d'un très vieux (+de 10 ans), la demande de la dernière Delphi XE. Il y a un certain nombre d'erreurs que je reçois comme
Incompatible types: 'WideChar' and 'AnsiChar'
J'ai été tout le casting du char à droite type: ex. AWideChar = WideChar(fncReturnsChar);
Est-ce que ça va causer des problèmes?
- Sur XE vous ne pouvez pas obtenir le message d'erreur que vous rapport depuis
WideChar
etChar
sont un et le même. Je pense que vous avez besoin de montrer un peu de code plus. - Aussi, avez-vous lu les différents tutoriels sur la façon de passer en Unicode Delphi? En particulier, je crois qu'il est très utile de papier blanc par Marco Cantu.
- L'erreur que j'ai mentionné n'était pas couper et coller, je voulais dire 'AnsiChar' au lieu de 'Char'. Merci pour le lien Mikael posté j'ai lu le witepaper et de comprendre maintenant que WideChar=Char. Je vous remercie pour votre aide, voici donc un upvote.
Vous devez vous connecter pour publier un commentaire.
Il pourrait y avoir des problèmes là-bas pour vous. Voici un livre blanc sur l'Unicode dans Delphi par Marco Cantù.
http://edn.embarcadero.com/article/38980
Le problème est que String[10] est le type de AnsiString plus tard versions de Delphi. Vous allez attribuer un caractère Unicode d'un caractère ANSI dans le code ci-dessus.
La solution est simple de type cast:
Veuillez consulter le document recommandé dans Mikael Eriksson réponse. Ce qui est essentiel.