請問以下VB的程式碼如何轉換成c++ |
尚未結案
|
schwantz
一般會員 ![]() ![]() 發表:4 回覆:4 積分:1 註冊:2005-09-15 發送簡訊給我 |
該vb使用了OCX元件,在VB 的範例裡call PlaceOrder 的function時須要傳入 Variant 的array ,呼叫後傳回值正常
但我試著用c builder 來改寫卻得不到正常的的回應,請高手幫忙,感恩!! [code vb] Dim Data As Variant Dim varData() As Variant ReDim varData(0 To 27) varData(0) = "A123456789" varData(1) = "1234567" varData(2) = "A" varData(3) = "1" varData(4) = "" varData(5) = "IC" varData(6) = "B" varData(7) = "FFFF" varData(8) = 12 varData(9) = "0" varData(10) = 6000000 varData(11) = 1 varData(12) ="R" varData(13) = 9000 Data = varData tmp = ICEGLOBALTRADEAPI1.PlaceOrder(Data) [/code] 請問以上程式碼要轉成C builder要如何改寫 c builder header long __fastcall PlaceOrder(VARIANT* pvData); 以下是本人曾寫過的程式碼,卻行不通 [code cpp] int tmp; VARIANT varData[28]; BSTR tbstr; tbstr=SysAllocString("A123456789"); varData[0].vt= VT_BSTR; varData[0].bstrVal = tbstr; varData[1].vt= VT_BSTR; tbstr=SysAllocString("1234567"); varData[1].bstrVal = tbstr; //........................程式碼有點長不再贅述 tmp = ICEGLOBALTRADEAPI1->PlaceFutOrder(varData); 也曾試過SafeArrayCreate,SafeArrayPutElement也還是不行 [/code] |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
請參考以下的範例程式碼,再自行修改
[code cpp] USES_CONVERSION; SAFEARRAY *pSA=NULL; SAFEARRAYBOUND aDim[1]; aDim[0].lLbound=0; aDim[0].cElements=3; // 看有多少個 Elements,自行調整 long i=0; pSA=SafeArrayCreate(VT_VARIANT, 1, aDim); if(pSA!=NULL) { TVariant vOut; i=0; vOut=A2W("111"); SafeArrayPutElement(pSA, &i, &vOut); i=1; vOut=A2W("222"); SafeArrayPutElement(pSA, &i, &vOut); i=2; vOut=A2W("333"); SafeArrayPutElement(pSA, &i, &vOut); } // 呼叫 ActiveX 的 function,並把 pSA 參數代入 // 略... [/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
aftcast
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
試著把
tbstr=SysAllocString("A123456789"); 改成tbstr=SysAllocString(L"A123456789"); tbstr=SysAllocString("1234567"); 改成tbstr=SysAllocString(L"1234567"); 因為在win32的系統裡SysAllocString裡面要放的是unicode的字串!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
Ktop_Robot
站務副站長 ![]() ![]() 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |