-4

これは有効ですjson:

[{"id":1, "name":"foo"}, {"id":2, "name":"bar"}]

TSuperObjectこれからを作成するにはどうすればよいstringですか?

4

2 に答える 2

2

Delphi 6 にはバグがあります。

SO()関数が文字列の値を変換しようとすると、 が発生しますEIntOverflow

バグは次の機能によるものです。

class function TSuperAvlEntry.Hash(const k: SOString): Cardinal; 

これは、Google の問題トラッカーのバグです。

バグの報告者が提案した回避策は、関数を次のように変更することです。

class function TSuperAvlEntry.Hash(const k: SOString): Cardinal;
var
  h: cardinal;
  i: Integer;
begin
  h := 0;
{$Q-}
  for i := 1 to Length(k) do
    h := Cardinal( h*129 + ord(k[i]) + $9e370001);
  Result := h;
end;
{$Q+}
于 2014-10-30T17:53:56.570 に答える