Problema no tipo String com mais de 255 caracteres
Amigos estou usando uma variável do tipo String, nela adiciono mais de 255 caracteres e o Delphi acusa o seguinte erro:
[b:99cb0be147][Error] Unit1.pas(35): String literals may have at most 255 elements[/b:99cb0be147]
Verifiquei no help que tem a ansistring (suporta até 2GB), mas não
adianta.
Já setei SetLength(Variavel, 500) sendo a variável do tipo String ou AnsiString e não adianta.
Realmente, não consigo resolver este problema, pesso socorro a vocês.
Agradeço, Márcio
[b:99cb0be147][Error] Unit1.pas(35): String literals may have at most 255 elements[/b:99cb0be147]
Verifiquei no help que tem a ansistring (suporta até 2GB), mas não
adianta.
Já setei SetLength(Variavel, 500) sendo a variável do tipo String ou AnsiString e não adianta.
Realmente, não consigo resolver este problema, pesso socorro a vocês.
Agradeço, Márcio
Mkoch
Curtidas 0
Respostas
Ildefonso
23/07/2003
Olá, Mkoch.
Você pode postar o fragmento de código onde você atribui a variável?
Ou tente fazer apenas isso em um outro projeto simples. Talvez em algum local de seu projeto haja um flag para aceitar apenas as strings Pascal padrão (que eram de 256 caracteres).
Verifique se você não tem tal flag no projeto ou nas opções do ambiente.
Bom trabalho.
Você pode postar o fragmento de código onde você atribui a variável?
Ou tente fazer apenas isso em um outro projeto simples. Talvez em algum local de seu projeto haja um flag para aceitar apenas as strings Pascal padrão (que eram de 256 caracteres).
Verifique se você não tem tal flag no projeto ou nas opções do ambiente.
Bom trabalho.
GOSTEI 0
Mkoch
23/07/2003
procedure TForm1.Button1Click(Sender: TObject);
var
vTeste : String; //já tentei vTeste : AnsiString;
vI : Integer;
begin
//Já tentei SetLength(vTeste, 1000);
for vI := 0 to 499 do
vTeste := vTeste + IntToStr(vI);
Label1.Caption := vTeste;
end;
var
vTeste : String; //já tentei vTeste : AnsiString;
vI : Integer;
begin
//Já tentei SetLength(vTeste, 1000);
for vI := 0 to 499 do
vTeste := vTeste + IntToStr(vI);
Label1.Caption := vTeste;
end;
GOSTEI 0
Basilio.sp
23/07/2003
Caro mkoch,
Acabei de testar seu código e o mesmo funcionou perfeitamente.
Aparentemente, o tratamento de strings padrão do delphi está desativado em seu ambiente.
Faça o seguinte: com certeza seu projeto tem um arquivo (ou mais de um) com a extensão ´.CFG´.
Edite este arquivo (pode ser com o Notepad). Vai ter um formato como o trecho abaixo:
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
Note que neste trecho que eu te passei, existe uma ´Diretiva de Compilação´ {-$H+}. É esta diretiva que faz a Delphi Language tratar de maneira genérica os tipos String.
Verifique se seus arquivos .CFG estão assim e me dê um retorno, por favor.
Caso não esteja, altere de -$H- para -$H+ e recompile seu projeto.
Acabei de testar seu código e o mesmo funcionou perfeitamente.
Aparentemente, o tratamento de strings padrão do delphi está desativado em seu ambiente.
Faça o seguinte: com certeza seu projeto tem um arquivo (ou mais de um) com a extensão ´.CFG´.
Edite este arquivo (pode ser com o Notepad). Vai ter um formato como o trecho abaixo:
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
Note que neste trecho que eu te passei, existe uma ´Diretiva de Compilação´ {-$H+}. É esta diretiva que faz a Delphi Language tratar de maneira genérica os tipos String.
Verifique se seus arquivos .CFG estão assim e me dê um retorno, por favor.
Caso não esteja, altere de -$H- para -$H+ e recompile seu projeto.
GOSTEI 0