请教:ActiveX控件在多个Web页面上同时运行,出现DAX Error异常。

时间:2021-09-06 05:48:04
ActiveX控件编写好后,单独在页面运行时一切正常。
但是在应用时,在包含控件的页面有多个时,比如依次打开A,B,C三个页面;那么,如果先关闭了A,或者B,然后在C页面上的控件就出问题,刷新或者别的操作时,弹出如下提示的:
DAX Error:Access violation at address 074D3AC2 in module 'XXXX.ocx'.Read of address 00000000.
什么原因呢?如何解决?
补充:如果按照C,B,A的顺序关闭页面的话,就不会有问题。

顺便问一句:Web上的ActiveX控件能够传出自定义的对象么?(比如某个Variant指向的对象,或者一个类的实例?)

5 个解决方案

#1


你的线程模型是什么?

#2


是Apartment模式。一般来说IE里的ActiveX控件都是这种线程模式。

#3


对了,我觉得这个问题应该跟ActiveX控件第一次用的页面直接关闭后,缓存中不存在有点关系。
    因为如果后面的B,C页面如果是从A页面生成的话,关闭A不会影响B,C;而如果ABC都是从一个窗口中生成出来,则出现上面的问题。

#4


大家没有遇到过这样的问题么?

#5


我碰到过。好像是ActiveForm本身就有这个问题。我曾经建立过一个空的ActiveForm,结果照样报错。
你还是用ActiveX控件吧。不出问题。

#1


你的线程模型是什么?

#2


是Apartment模式。一般来说IE里的ActiveX控件都是这种线程模式。

#3


对了,我觉得这个问题应该跟ActiveX控件第一次用的页面直接关闭后,缓存中不存在有点关系。
    因为如果后面的B,C页面如果是从A页面生成的话,关闭A不会影响B,C;而如果ABC都是从一个窗口中生成出来,则出现上面的问题。

#4


大家没有遇到过这样的问题么?

#5


我碰到过。好像是ActiveForm本身就有这个问题。我曾经建立过一个空的ActiveForm,结果照样报错。
你还是用ActiveX控件吧。不出问题。