为什么以下代码返回无效参数错误?它在Delphi中的等效执行良好。
C ++ Builder:
ActiveWorkSheet.OleProcedure("ExportAsFixedFormat", 0, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam);
的Delphi:
oSheet.ExportAsFixedFormat(0, // xlTypePDF is constant 0
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, // set to True to open Acrobat
EmptyParam);
答案 0 :(得分:0)
在C ++中(至少在VC中)必须颠倒参数顺序。试试这个:
ActiveWorkSheet.OleProcedure(“ExportAsFixedFormat”,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,0);
希望这会有所帮助
答案 1 :(得分:-1)
添加另一个EmptyParam。该函数有9个参数,所以当你使用OleProcedure调用它时,你会发送10个参数(因为第一个参数是函数名)。你只发送9。