作者Galu ( Before Sunset )
看板C_and_CPP
标题[问题] InvokeHelper的问题。
时间Wed Apr 22 13:07:53 2009
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)
1F:推 layan:make sure id(9) function have two parameters. 04/22 13:20
2F:→ Galu:所以我这段是没问题的罗?所以我要改从ocx中debug? 04/22 13:27
3F:→ layan:你要确定ID9的func是吃二个参数的, 不然一定会失败. 04/22 13:36
4F:→ layan:可以用 oleview 这个 tool 去看一下介面, 检查是不是2个参数 04/22 13:37
5F:→ Galu:成功了,ocx的DISP_FUNCTION那边没改到,十分感谢您~ 04/22 13:38
6F:→ Galu:没有你的提醒,我不知道要debug到民国几年啊~XD 04/22 13:38
7F:→ layan:100 年快到了 XDXD 04/22 13:50
8F:→ Galu:这个debug到民国100年也很惨啊...XDDDDDDD 04/22 13:52
9F:推 VictorTom:民国99年12月31号再开始debug感觉就还好了....XD 04/22 13:53
10F:→ Galu:99年跨100年的时候,日期有用民国的软体不知道有多少会挂? 04/22 14:06