im работает над delphi 7, и я работал над строками, я наткнулся на это
Для строки длины по умолчанию, которая объявляется просто как строка, максимальный размер всегда равен 255. ShortString никогда не разрешается выражать до более 255 символов.
однажды мне пришлось сделать что-то подобное в моем коде delphi (это было для действительно большого запроса)
var
sMyStringOF256characters : string;
ilength : integer;
begin
sMyStringOF256characters:='ThisStringisofLength256,ThisStringisofLength256,.....'
//length of sMyStringOF256characters is 256
end;
Я получаю эту ошибку
[Ошибка] u_home.pas(38): Строковые литералы могут содержать не более 255 элементов.
но когда я попробую это
var
iCounter : integer;
myExtremlyLongString : string;
begin
myExtremlyLongString:='';
Label1.Caption:='';
for iCounter:=0 to 2500 do
begin
myExtremlyLongString:=myExtremlyLongString+inttostr(iCounter);
Label1.Caption:=myExtremlyLongString;
end;
Label2.Caption:=inttostr(length(myExtremlyLongString));
end;
и результат
Как вы видите, длина myExtremlyLongString составляет 8894.
почему delphi не указала какую-либо ошибку, указав, что длина не превышает 255 для myExtremlyLongString?
ИЗМЕНИТЬ я использовал
SetLength(sMyStringOF256characters,300);
но он не работает.