日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

COM/DCOM中如何傳遞數組

系統 2510 0

? ? 因為COM/DCOM對象都不在Client程序運行的內存空間(內進程COM對象除外,即便如此,為了統一接口,內進程的COM也不得傳遞指針),而且在Win32中所有的程序都有自己獨立的2GB的內存空間,程序與程序之間傳遞指針(內存地址)是毫無意義的,而數組、字符串等大量的數據在程序中都是分配一定的內存空間,然后用指針加內存偏移量來存取數據的,這時,如何在COM/DCOM對象中如何傳遞呢?
? ? 在Win32中引入了一新變量Variant,可以通過Variant傳遞數組。具體的實現方法,用Delphi實現為:

? ? Server(COM/DCOM程序)端:
? ? procedure TTestDCOM.Send4(Size: Integer; D1: OleVariant);
? ? type
? ? ? ? TData=array [0..999] of Byte;
? ? Var
? ? ? ? Data:TData;
? ? ? ? i:Integer;
? ? begin
? ? ? ? for i:=0 to Size-1 do begin
? ? ? ? ? ? ? Data[i]:=D1[i];
? ? ? ? end;
? ? end;

? ? Cleint端:

? ? Var
? ? ? ? D1:OleVariant;
? ? begin
? ? ? ? D1:=VarArrayCreate([0,99],varByte);

? ? ? ? {
? ? ? ? D1[1]:=45;
? ? ? ? ? ....? //將值存入D1中

? ? ? ? ? ? }
? ? ? ? S.Send4(99,D1);? //S是TestDCOM對象
? ? end;



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3136


COM/DCOM中如何傳遞數組


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 瑞昌市| 通海县| 滁州市| 商河县| 西和县| 石柱| 城固县| 台山市| 东阳市| 法库县| 白河县| 威海市| 维西| 怀化市| 皮山县| 金堂县| 孙吴县| 合阳县| 桑日县| 邵阳县| 陵川县| 泾川县| 奈曼旗| 兴安县| 车致| 黔江区| 永和县| 凤城市| 明溪县| 阳山县| 灌阳县| 顺义区| 通山县| 日照市| 老河口市| 静乐县| 浦城县| 石楼县| 中方县| 深圳市| 吉木乃县|