[問題] InvokeHelper的問題。

看板C_and_CPP作者 ( Before Sunset )時間15年前 (2009/04/22 13:07), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
BOOL CJjk::Save(LPCTSTR filename,short savepics) { BOOL result; static BYTE parms[] = VTS_BSTR VTS_I2; InvokeHelper(0x9, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, filename, savepics); return result; } 這段,我傳入 m_jjk.Save(filename,spics); 一直出現無效的參數數目, ↖CString ↖short 其中 spics = 30 請問有人知道究竟哪邊出問題嗎? 原本 BOOL CJjk::Save(LPCTSTR filename) { BOOL result; static BYTE parms[] = VTS_BSTR; InvokeHelper(0x9, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, filename); return result; } 傳入 m_jjk.Save(filename); 是可正常運行的, 但是改過之後就傳不進去。 請高手幫忙,感恩~ -- 壞情緒就跟鬧肚子一樣,不是你能控制的東西, 感覺來了,你可以忍住,但是卻不能停止。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.251.252 ※ 編輯: Galu 來自: 220.135.251.252 (04/22 13:16)

04/22 13:20, , 1F
make sure id(9) function have two parameters.
04/22 13:20, 1F

04/22 13:27, , 2F
所以我這段是沒問題的囉?所以我要改從ocx中debug?
04/22 13:27, 2F

04/22 13:36, , 3F
你要確定ID9的func是吃二個參數的, 不然一定會失敗.
04/22 13:36, 3F

04/22 13:37, , 4F
可以用 oleview 這個 tool 去看一下介面, 檢查是不是2個參數
04/22 13:37, 4F

04/22 13:38, , 5F
成功了,ocx的DISP_FUNCTION那邊沒改到,十分感謝您~
04/22 13:38, 5F

04/22 13:38, , 6F
沒有你的提醒,我不知道要debug到民國幾年啊~XD
04/22 13:38, 6F

04/22 13:50, , 7F
100 年快到了 XDXD
04/22 13:50, 7F

04/22 13:52, , 8F
這個debug到民國100年也很慘啊...XDDDDDDD
04/22 13:52, 8F

04/22 13:53, , 9F
民國99年12月31號再開始debug感覺就還好了....XD
04/22 13:53, 9F

04/22 14:06, , 10F
99年跨100年的時候,日期有用民國的軟體不知道有多少會掛?
04/22 14:06, 10F
文章代碼(AID): #19xgOix3 (C_and_CPP)