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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM