1

我正在运行 Delphi DX Seattle
,我正在查看数据快照示例

Samples\Object Pascal\DataSnap\FireDAC\SampleDataSnapFireDAC_ProjectGroup.groupproj

我并不担心实际反转字符串,只是想知道为什么数据快照调用会出现以下错误

在此处输入图像描述

这些是我可以通过
步骤 1 重现错误的步骤:启动服务器
步骤 2:启动客户端
步骤 3:单击反向字符串按钮并键入“测试”。工作正常
第 4 步:再次单击反向按钮并键入“testtest”。它失败并出现此错误

错误
[FireDAC][Stan]-704。变长数据参数 [Value] 溢出。值长度 - [8],参数数据最大长度 - [4]。

我可以更改第 3 步和第 4 步,例如
第 1 步:启动服务器
第 2 步:启动客户端
第 3 步:单击反向字符串按钮并输入“123456789”。工作
步骤 4:再次单击反向按钮并键入“123”.works
步骤 5:再次单击反向按钮并键入“123456789abcd”.fails

如果字符串大于第一次调用,它似乎在第一次调用后中断。
这是示例正在执行的代码

procedure TClientForm.Button1Click(Sender: TObject);
var
  AString: string;
begin
  AString := InputBox('Reverse String', 'Enter a String', '');
  if AString <> '' then
  begin
    FDStoredProcReverse.Params[0].Value := AString;
    FDStoredProcReverse.ExecProc;
    ShowMessage(FDStoredProcReverse.Params[1].AsWideString);
  end;
end;

有一个更好的方法吗?
还有其他人收到此错误吗?

4

0 回答 0