Delphi使用SuperObject解析Json时提示“Integer overflow”
2015-04-29 00:00
369 查看
最近又碰Delphi了,delphi7。。。
原文链接:http://www.cnblogs.com/Dragon7/archive/2011/07/11/2103353.html
Json(五):解析时提示“Integer overflow”
首先下载SuperObject 代码包
官网 http://www.progdigy.com/?page_id=6
下载地址 http://code.google.com/p/superobject/downloads/list
官方论坛 http://www.progdigy.com/forums/viewforum.php?f=5
好,开始例子
var
obj: ISuperObject;
begin
obj := SO('{"foo": true}'); //创建对象
memo1.lines.add(obj.asobject.s['foo']); //读取为字符
end;
提示 Integer overflow
修改superobject.pas源文件中的
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;
修改为如下代码:
{$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}
然后重新编译执行,成功!
原文链接:http://www.cnblogs.com/Dragon7/archive/2011/07/11/2103353.html
Json(五):解析时提示“Integer overflow”
首先下载SuperObject 代码包
官网 http://www.progdigy.com/?page_id=6
下载地址 http://code.google.com/p/superobject/downloads/list
官方论坛 http://www.progdigy.com/forums/viewforum.php?f=5
好,开始例子
var
obj: ISuperObject;
begin
obj := SO('{"foo": true}'); //创建对象
memo1.lines.add(obj.asobject.s['foo']); //读取为字符
end;
提示 Integer overflow
修改superobject.pas源文件中的
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;
修改为如下代码:
{$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}
然后重新编译执行,成功!
相关文章推荐
- Delphi中使用ISuperObject解析Json数据的实现代码
- delphi 用superobject解析json
- 使用superobject 解析Json数据
- Delphi中JSon SuperObject 使用:数据集与JSON对象互转
- Delphi中JSon SuperObject 使用:数据集与JSON对象互转
- 适用于Firemonkey的Json解析对象XsuperObject使用方法介绍
- Delphi使用JSON解析调用淘宝IP地址库REST API 示例
- JSON 之 SuperObject(14): 从 XML 中解析
- JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名
- 用 SuperObject 解析淘宝上的 Json 数据 - 回复 "macrolen" 的问题
- Android使用自带JSONObject解析JSON数据
- json 的解析-使用Android中的JSONObject和JSONArray解析json数据,gson中的JsonReader解析json数据
- 关于SAXReader解析XML以及JSONObject和JSONArray的使用总结
- 使用Ext.decode()解析JSON字符串时firebug提示extjs missing ] after element list错误
- 急!delphi中variant能否和object类型转换。实例:在使用getpropvalue(range,'属性')时提示类型有错,如何解决?!!
- Android使用自带JSONObject解析JSON数据 - jCuckoo的专栏 - 博客频道 - CSDN.NET
- 使用javascript的eval函数解析json字符串,提示“not avalible”怎么办?
- 复杂json的解析:jsonobject与jsonArray的使用
- 使用JSONObject生成和解析json