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

COM/DCOM中如何傳遞數(shù)組

系統(tǒng) 2533 0

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

? ? 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對(duì)象
? ? end;



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


COM/DCOM中如何傳遞數(shù)組


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 阿城市| 寿宁县| 和林格尔县| 合肥市| 共和县| 嵊泗县| 宣城市| 黑河市| 松原市| 怀柔区| 平乐县| 潍坊市| 宁夏| 闸北区| 花莲市| 莒南县| 兴隆县| 灵川县| 丽江市| 古交市| 定州市| 上饶县| 营山县| 白朗县| 山阳县| 荃湾区| 唐海县| 交口县| 柯坪县| 盈江县| 岐山县| 孝昌县| 呼图壁县| 兰州市| 罗源县| 垣曲县| 新兴县| 土默特左旗| 乐亭县| 连州市| 宝坻区|