你这能看出来啥,可能性太多了
如果是自已写的ocx,先确保它的正确性, 如果用c++写的ocx,对参数和返回值需要特殊处理

解决方案 »

  1.   

    OCX 应该是C++写的 代码的正确性应该是可以证实的(因为另外一个环境用另外一种语言也在用这个OCX) 
    但是 无法证实的就是 测试的时候 这个事件如何被触发的 例如服务器端有没有把足够的数据传给OCX请问“四两搏小千金”, 对参数和返回值需要什么处理呢?这里不明白 我所理解的是 至少返回值的类型是object.
    现在就是想大家把可能列出来,因为无法在测试环境测试。
      

  2.   

    再解析得详细一点:
    第一步,
    服务器发送数据给OCX客户端
    第二步,
    OCX接收到服务器的数据后,触发openFormReq事件
    这里有一个问题,服务器过来的数据里面估计包含指令以及值,
    当有触发指令,但是值不全的情况下,C++是否也可以触发事件?
    本人认为,理论上是可以的,指令是用来触发事件,而值是在事件触发前就赋给了OCX
    第三步,
    JS捕捉OCX的事件,然后把事件中的相关值显示出来。
    因为JS只能捕捉事件,所以应该是无法在事件发生前JS传值给OCX的事件,那么在For Eevnt中的参数,应该都是传值给JS环境的。
    其实这一点,我一直没有弄懂,在C++中有,out,In,以及INOUT三种类型的参数,在事件函数中,应该都是用OUT,用IN或者INOUT有意义吗?大家多发表看法,我也只是新手,希望老鸟们指点指点。
      

  3.   

    c++写ocx, 要注意有些客户语言不能以传址参数的方法返回结果, 所以要为参数加 retval,来为这种情况返回值
      

  4.   

    参考此贴
    http://topic.csdn.net/u/20090206/15/d7c5dee3-100f-4709-957c-37601fe47971.html
      

  5.   

    谢谢 四两搏小千金你说的情况 我了解过 JavaScript是不支持引用参数的
    可是 OCX是三方插件 在这里 不能改 只能调用
    莫非没有解决办法了?
      

  6.   

    所以我说先确认ocx是否完善嘛,如果是这个原因就没办法了
      

  7.   

    第一个可能就是OCX写的代码 JavaScript无法调用还有别的可能吗?
      

  8.   


    openFormReq 看样子是提交了一个请求
    不知道你说的其它环境是什么, 服务端是web?