Cuestión : Cómo reescribir código usar secuencias a Delphi 2010

Por favor, tengo este código:

Var
 cDestino: PAnsiChar; cOrigem del
: PAnsiChar;
iProgBar: Número entero;
sFile: Ansistring; sPath del
: Ansistring; sDiaSemana del
: secuencia [20];
and;

  sFile := “PedItem.db”;

  cOrigem:(sPath+'\ '+sFile) ; del
 --> tipos incompatibles del error E2010: cDestino del

de
del “carbón de leña” y de “AnsiChar”: = strtopchar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile); del
--> error: Tipos incompatibles E2010: “Carbón de leña” y “AnsiChar”, Y, advirtiendo: ¿W1057 que el molde implícito de la secuencia “AnsiString” a líneas de


These dos de la “secuencia” causa estos errores y advertencias al compilar con los cambios de Delphi 2010.
What tengo que hacer?
Thanks




class= > " claro " del
soluciones >Related class= href= " /Programming/Languages/Pascal/Delphi/Q_24998528.html " title= " delphi 2010 del delphi " qRelatedParent " 2010: Tipos incompatibles: “Carbón de leña” y 'AnsiChar'

Respuesta : Cómo reescribir código usar secuencias a Delphi 2010

Estoy conjeturando que usted está llamando Windows API para copiar archivos o similar, así que usted necesita solamente PChar y encadena tipos, y recopilador de Delphi decidirá, según a la versión, a la versión buena y correcta correcta del API que utilizará.

Con la secuencia <2009 :="">= AnsiString de Delphi
(P) Carbón de leña = (P) AnsiChar
y todas las ventanas API llamadas son la versión del ANSI, ex:
CopyFile = CopyFileA

Con Delphi >=2009
Secuencia = WideString
Carbón de leña = WideChar
y todas las ventanas API llamadas son la versión amplia


Así pues, su código se debe hacer para compilar con todas las versiones, sin jugar demasiado con otros tipos a menos que cuando usted no tiene opción
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Var
 cDestino, cOrigem: PChar;
 sFile, sPath, sDiaSemana: Secuencia;
 iProgBar: Número entero;
y;

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


Observar que usted puede convertir la secuencia a PChar con apenas un molde en el aflarin de la manera demostrado para AnsiString y PAnsiChar. 
Usted puede incluso llamar tan su función en una línea

  CopyFile (PChar (sPath+'\ '+sFile), PChar ('C:\Back - up_AcxSir \ '+sDiaSemana+sFile), falsos); 
Otras soluciones  
 
programming4us programming4us