Erreur de compilation: (le pointeur s'arrète derrière 'Filenamein' de la ligne ShellExecute)
[DCC Avertissement] pdf_to_txt.pas(203): W1058 Transtypage de chaîne implicite avec perte de données potentielle de 'string' en 'AnsiString'
[DCC Erreur] pdf_to_txt.pas(256): E2010 Types incompatibles : 'PWideChar' et 'string'
[DCC Avertissement] pdf_to_txt.pas(431): W1058 Transtypage de chaîne implicite avec perte de données potentielle de 'string' en 'AnsiString'
[DCC Erreur fatale] Project1.dpr(5): F2063 Impossible de compiler l'unité utilisée 'pdf_to_txt.pas'
J'ai tenté plusieurs variantes mais sans résultat
(dont
Filenamein:= PChar( ExtractFilePath(opendialog1.FileName)+sid+' - '+IntToStr(myYear)+' '+Month+' '+Day+' '+Hour+''+Min+''+Sec+' - '+Prof+'.pdf');
PS:
que l'on soit en Ainsi ou en Unicode c'est PChar et string (les types génériques) qu'il faut utiliser
On utilise AnsiString & PAnsiChar
ou
WideString & PWideChar que dans des cas particulier
Ex. si on veut utiliser de l'Ainsi dans un environnement Unicode ou Inversement
PChar & string sont des types génériques déclarés comme ceci:
jusqu'à D2007 PChar = PAnsiChar;
string = AnsiString;
à partir de D2009 (Unicode) PChar = PWideChar;
string = WideString;
en respectant cette simple règle la plus part des codes fonctionneront aussi bien en Ainsi qu'en Unicode et ce sans aucune modification.
Les problèmes de portage Ainsi >> Unicode viennent le plus souvent de mauvaises habitudes de codage prises en Ainsi mais qui n'avait aucune incidence tant que le code était compilé en Ainsi ^^
Mais avec l'apparition de l'Unicode les erreurs sont devenues flagrantes. Mais rien d'insurmontable en soi ;)
Cordialement,
Bonnes fêtes,
PhilLu
Messages postés251Date d'inscriptionlundi 9 novembre 2009StatutMembreDernière intervention11 mai 2021 27 déc. 2017 à 09:24
27 déc. 2017 à 09:23