将superobject.pas源代码中的如下代码:
|
01
02
03
04
05
06
07
08
09
10
11
12
|
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 := h*129 + ord(k[i]) + $9e370001;
{$Q+}
Result := h;
end;
|
修正为:
|
01
02
03
04
05
06
07
08
09
10
11
12
|
{$UNDEF SaveQ} {$IFOPT Q+} {$Q-} {$DEFINE SaveQ} {$ENDIF}
class function TSuperAvlEntry.Hash(const k: SOString): Cardinal;
var
h: cardinal;
i: Integer;
begin
h := 0;
for i := 1 to Length(k) do
h := h*129 + ord(k[i]) + $9e370001;
Result := h;
end;
{$IFDEF SaveQ} {$Q+} {$UNDEF SaveQ} {$ENDIF}
|
重新编译后即可实现正常解析。