Vraag : Hoe te om code te herschrijven die koorden gebruiken aan Delphi 2010

Tevreden, heb ik deze code: /> cDestino

Var cOrigem: PAnsiChar; iProgBar
: Geheel; sFile
: Ansistring;
sPath: Ansistring; /> sDiaSemana and; sFile

: = „PedItem.db“;

cOrigem: =strtopchar (sPath+'\ '+sFile) ;
 --> De Onverenigbare types van fout E2010: cDestino/>

: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile);
--> Fout: E2010 Onverenigbare types: „Klusje“ en „AnsiChar“, EN, Waarschuwend: W1057 wordt gegoten veroorzaakt het Impliciete die koord van „AnsiString“ aan „koord“

These twee deze fouten en waarschuwingen wanneer het compileren met de veranderingen/>What van Delphi 2010.
Thanks




Antwoord : Hoe te om code te herschrijven die koorden gebruiken aan Delphi 2010

Ik veronderstel u Vensters API roept om dossiers te kopiëren of gelijkaardig, zodat hebt u de types slechts van PChar en van het koord nodig, en de compiler van Delphi zal, volgens de versie, de correcte vriendelijke en correcte API versie beslissen het zal gebruiken.

Met het Koord <2009 :="">van Delphi = AnsiString
(P) Klusje = (P) AnsiChar
en alle geroepen vensters API zijn de ANSI ex versie:
CopyFile = CopyFileA

Met Delphi >=2009
Koord = WideString
Klusje = WideChar
en alle geroepen vensters API zijn de Brede versie


zo, zou uw code moeten worden gemaakt om met alle versies te compileren, zonder teveel met andere types behalve te spelen wanneer u geen keus hebt
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Var
 cDestino, cOrigem: PChar;
 sFile, sPath, sDiaSemana: Koord;
 iProgBar: Geheel;
en;

  sFile: = „PedItem.db“;
  cOrigem: = strtopchar (sPath+'\ '+sFile);
  cDestino: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile); 
  CopyFile (cOrigem, Valse cDestino,); 


Merk op dat u Koord in PChar met enkel een gietvorm in manieraflarin kunt omzetten voor AnsiString & PAnsiChar wordt getoond die. 
Zo kunt u uw functie in één lijn zelfs roepen

  CopyFile (PChar (sPath+'\ '+sFile), PChar ('C:\Back - up_AcxSir Valse \ '+sDiaSemana+sFile),); 
Andere oplossingen  
 
programming4us programming4us