gpt4 book ai didi

javascript - 使用可选输入设置 ActiveX 属性

转载 作者:行者123 更新时间:2023-11-28 07:51:14 25 4
gpt4 key购买 nike

我正在尝试通过 javascript 设置 activeX 属性。我正在使用 OLE/COM 对象查看器,设置如下所示:

[id(0x0000001e), propput, helpstring("property Param")]
void Param(
[in] ParamCodes Params,
[in, optional, defaultvalue(1)] long lRec,
[in, optional, defaultvalue(1)] long lEntry,
[in] VARIANT rhs);

我可以通过var channel = mvc.Param(0x2004001a)访问该参数。但是,如果我尝试使用 mvc.Param(0x2004001a) = 100 设置属性,JavaScript 将停止运行。我也无法使用 mvc.Param(0x2004001a,4,5) 使用可选参数访问或设置任何其他记录。我是否使用了不正确的语法,还是必须继续调用 mvc.Invoke() 路?

最佳答案

该方法错误地使用了可选/默认值属性,我认为这不会或预期会起作用。 MSDN :

The MIDL compiler accepts the following parameter ordering (from left-to-right):

  • Required parameters (parameters that do not have the [defaultvalue] or [optional] attributes),
  • optional parameters with or without the [defaultvalue] attribute,
  • parameters with the [optional] attribute and without the [defaultvalue] attribute,
  • [lcid] parameter, if any,
  • [retval] parameter

您假设最后一个 [in] 参数将是属性分配值,并且可以从上面的列表中排除,使您能够使用可选的访问器参数,但这不是记录的行为,然后 - 也许更重要的是 - JS 引擎几乎不支持这一点,JS 引擎对自动化属性有自己的限制。

去掉可选参数后,我们不清楚ParamCodes是什么以及接口(interface)属性/定义,它本身可能会出现问题,阻止您在JS中使用该属性。

关于javascript - 使用可选输入设置 ActiveX 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26787899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com