zoukankan      html  css  js  c++  java
  • OleVariant的本质

    OleVariant的本质

    OleVariant,COM的一种数据类型。MIDAS基于COM之上构建的,自然使用OleVariant作为数据序列格式。

    延续到现在最新的DATASNAP仍然支持它。

    TClientDataset.data,TClientDataset.delta,这俩个属性
    的类型都是OleVariant。

    OleVariant可以是string,integer,float...
    这个大家都知道,但它也可以是array of OleVariant,这个
    可能有人不知道了。明白了这点就是datasnap中间件主从表
    数据同步的关键。

    var
    a: TServerMethods1Client;
    V: OleVariant;
    i, iCount: Integer;
    begin
    Result := False;
    if not TryConnectAPPServer then
    Exit;
    a := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
    try
    iCount := High(TClientDatasetArray);
    V := VarArrayCreate([0, iCount], varVariant);
    for i := 0 to iCount do
    begin
    V[i] := null;
    if Datasets[i] <> nil then
    begin
    if Datasets[i].State in [dsInsert, dsEdit] then
    Datasets[i].Post;
    if Datasets[i].ChangeCount > 0 then
    V[i] := CompressData(Datasets[i].Delta);
    end;
    end;
    Result := a.UploadPOSSalesData(V);

  • 相关阅读:
    bzoj [POI2015]Myjnie
    bzoj2217 [Poi2011]Lollipop
    Codeforces A Mist of Florescence
    bzoj4380 [POI2015]Myjnie
    bzoj4292 [PA2015]Równanie
    bzoj 3517翻硬币
    模块补充
    python解释器
    __file__、__name__、__dict__方法整理
    软件开发规范
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2882721.html
Copyright © 2011-2022 走看看