在word开发中,碰到CentimetersToPoints函数调用出错,提示未指定的错误的问题。解决办法为修改CentimetersToPoint函数
导入msword.olb后的CentimetersToPoint函数如下
float _Application::CentimetersToPoints(float Centimeters)
{
float result;
static BYTE parms[] = VTS_R4 ;
InvokeHelper(0x173, DISPATCH_METHOD, VT_R4, (void*)&result, parms, Centimeters);
return result;
}
修改后的CentimetersToPoint函数如下,
float _Application::CentimetersToPoints(float Centimeters)
{
float result;
static BYTE parms[] = VTS_R4 ;
InvokeHelper(0x173, DISPATCH_METHOD|DISPATCH_PROPERTYGET, VT_R4, (void*)&result, parms, Centimeters);
return result;
}
红色表示的部分为增加的代码InvokeHelper(0x173, DISPATCH_METHOD|DISPATCH_PROPERTYGET, VT_R4, (void*)&result, parms, Centimeters);
类似的如InchesToPoints、MillimetersToPoints、PicasToPoints等函数同样需要进行如此修改。
本文介绍了解决Word开发中CentimetersToPoints函数调用出现未指定错误的方法。通过调整函数调用方式,增加了DISPATCH_PROPERTYGET标志,解决了问题。此外,类似函数如InchesToPoints也需要相同修改。

7317

被折叠的 条评论
为什么被折叠?



