Ver Mensaje Individual
  #8  
Antiguo 08-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Según entiendo, las constantes literales son tomadas por Delphi como ShortString (el viejo string de Turbo Pascal o Delphi 1).
El tipo string(viejo) esta representado por un arreglo de 256 bytes donde en el primer elemento reside el valor de la longitud de la cadena, por lo mismo tendríamos un error al intentar:
Código Delphi [-]
var
  s1: string[256]; // error, sólo hasta 255 ( 256 - 1er Byte)
En las versiones posteriores a Delphi 1, por defecto está activada la opción {$H+}, por lo que el el compilador interpreta el tipo string como AnsiString en las declaraciones; pero no es así con las constantes literales.
Código Delphi [-]
 
var
  s1: string; // AnsiString

Para el caso de edgar, la solución es cualquiera de las propuestas por maeyanes o Dec.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita