У меня есть устаревшее приложение Delphi 5, и есть часть, в которой значение "string" было присвоено переменной "OleVariant".Примерно так:
var
X: OleVariant;
S: string;
Begin
S:= ‘This string should contain 200 characters as per design’;
X:= S;
End;
Если длина «S» больше 128, то значение «X» будет усечено, и оно будет содержать максимум 128 символов.
Есть ли способ преодолеть это?
Я считаю, что есть способ, потому что, если я создаю свое собственное демо-приложение с нуля (на том же ПК, с тем же Delphi 5), это позволяет мне проходить дольшестроковые значения и усечение не выполняется.
Возможно, это что-то из настроек проекта или директив компилятора.Я поиграл с этой идеей, но у меня пока нет обходного пути.
Любая помощь приветствуется.Спасибо.
Демо:
procedure TForm1.Button1Click(Sender: TObject);
var
X: OleVariant;
S: string;
begin
//in the Edit I pass a string of 240 chars, let's say;
S:= Edit1.Text;
X:= S;
ShowMessage(IntToStr(Length(X)) + ' : ' + IntToStr(Length(S)));
//this showmessage shows "128 : 240"
end;