zoukankan      html  css  js  c++  java
  • vbscript/javascript和COM的数据传递

    我们经常会遇到,将脚本中定义的多个参数打包到一个数组中,然后将这个数组传给一个组件方法。javascriptvbscript定义数组的方式是不 同的。vbscript中的数组采用的是自动化兼容类型SAFEARRAY,对它进行遍历是很方便的。而javascript动态脚本的秘密武器--是IDispatchEx接口
       
    对于一个基本的Object对象,即可以动态的增加或删除属性、方法,也可以生成一个自定义的类,完全基于一个IDispatchEx接口。 IDispatchExIDispatch的扩展,为实现动态脚本的一些动态特性量身定制。除了提供IDispatch接口的所有方法之 外,IDispatchEx还额外提供以下几个特性:

      • Add new members to an object ("expando") — use GetDispID with the fdexNameEnsure flag.
      • Delete members of an object — use DeleteMemberByName or DeleteMemberByDispID.
      • Case-sensitive dispatch operations — use fdexNameCaseSensitive or fdexNameCaseInsensitive.
      • Search for member with implicit name — use fdexNameImplicit.
      • Enumerate DISPIDs of an object — use GetNextDispID.
      • Map from DISPID to element name — use GetMemberName.
      • Obtain properties of object members — use GetMemberProperties.
      • Method invocation with this pointer — use InvokeEx with DISPATCH_METHOD.
    Allow browsers that support the concept of name spaces to obtain the name space parent of an object — use GetNameSpaceParent.,

    ActiveX组件与JavaScript交互
    http://hi.baidu.com/huhe/blog/item/817a59ee1ca423f8b3fb95de.html
    介绍了连接点, 数据传递,等

    而对于vb的safearray, 推荐使用atl的CComSafeArray<>和CComVariant<>类
  • 相关阅读:
    5.4 省选模拟赛 修改 线段树优化dp 线段树上二分
    一本通 高手训练 1782 分层图 状压dp
    luogu P3830 [SHOI2012]随机树 期望 dp
    5.2 省选模拟赛 或许 线型基
    luogu P4562 [JXOI2018]游戏 组合数学
    一本通 高手训练 1781 死亡之树 状态压缩dp
    luogu P4726 【模板】多项式指数函数 多项式 exp 牛顿迭代 泰勒展开
    4.28 省选模拟赛 负环 倍增 矩阵乘法 dp
    HDU 1756 Cupid's Arrow 计算几何 判断一个点是否在多边形内
    一本通 高手训练 1763 简单树 可持久化线段树 树链刨分 标记永久化
  • 原文地址:https://www.cnblogs.com/cutepig/p/1546684.html
Copyright © 2011-2022 走看看