• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi7调用NativeXml序列化类的坑

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
type
  TRespparms = class(TPersistent)
  private
    Fjlbh: Integer;
    FbNeedQuery: Boolean; //是否需要调用查询接口
    FsMsg: string; //
    FsOrderNO: string; //请求的订单号
    FiTotal_fee: Integer; //
    FsTransaction_id: string; //--终端流水号
    FsBankName: string; //----银行号
    FiChannel: Integer; //----渠道号
    FsBankType: string; //---银行接口类型 
    FiJYLX: Integer; //-----
  published
    property bNeedQuery: Boolean read FbNeedQuery write FbNeedQuery;
    property sMsg: string read FsMsg write FsMsg;
    property sOrderNO: string read FsOrderNO write FsOrderNO;
    property iTotal_fee: Integer read FiTotal_fee write FiTotal_fee;
    property sTransaction_id: string read FsTransaction_id write FsTransaction_id;
    property sBankName: string read FsBankName write FsBankName;
    property iChannel: Integer read FiChannel write FiChannel;
    property sBankType: string read FsBankType write FsBankType;
    property iJYLX: Integer read FiJYLX write FiJYLX;
  end;


调用方法:
procedure TForm1.btn1Click(Sender: TObject);
var
  doc: TNativeXml;
  anode: TXmlNode;
  Resp: TRespparms;
  Writer: TsdXmlObjectWriter;
begin
  Resp := TRespparms.Create();
  Resp.bNeedQuery := False;
  Resp.sMsg := 'smge';
  Resp.sOrderNO := 'S1234';
  Resp.iTotal_fee := 23466;
  Resp.sTransaction_id := 'A9876ed2';
  Resp.sBankName := 'CCB';
  Resp.Fjlbh := 99;
  mmXml.Lines.Text := ObjectSaveToXmlString(Resp);

 坑:

要序列化的类最好是继承TPersistent

字段属性 一定要写成 property XX: string read FXX write FXX;  // 划重点

开始字段 直接写在Public  jlbh: Integer; 始终反序列化不成功,改成上面的写法正常

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi XE10 dxLayoutControl 控件应用指南发布时间:2022-07-18
下一篇:
delphi使用ADO在sql数据库存取图片的方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap