DataSnap“普通老德尔福对象”和嵌套对象

Delphi XE中有关DataSnap的新文章解释说,DataSnap现在能够在服务器和客户端之间传输TObject后代,类似于POJO的Java企业版概念(“普通旧Java对象”)。 如果这样的PODO具有需要初始化的嵌套对象类型属性(例如TStrings属性),这个新功能是否有用?所有这些子对象是否会被序列化并以其当前值传输?那些系统资源属性,如TFileStream,THandle或TThread,在序列化对象中没有意义,它们可以标记为“不可序列化”吗? 一些信息在DocWiki中,包括:   这些是那里的领域   已经内置了   转换/返回:整数,字符串,   char,枚举,浮点数,对象,   记录。对于以下类型,   字段值被忽略和用户   转换是预期的:set,method,   变体,接口,指针,dynArray,   classRef,array。     
已邀请:
我没有试过自己,但阅读文档它似乎将序列化几乎任何东西,虽然你可能需要编写自定义转换器。下面的代码包含子对象,作为需要自定义转换器的对象的示例。
type
  TAddress = record
    FStreet: String;
    FCity: String;
    FCode: String;
    FCountry: String;
    FDescription: TStringList;
  end;

  TPerson = class
  private
    FName: string;
    FHeight: integer;
    FAddress: TAddress;
    FSex: char;
    FRetired: boolean;
    FChildren: array of TPerson;
    FNumbers: set of 1..10;
  public
    constructor Create;
    destructor Destroy; override;

    procedure AddChild(kid: TPerson);
  end;
    

要回复问题请先登录注册