但是在应用时,在包含控件的页面有多个时,比如依次打开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都是从一个窗口中生成出来,则出现上面的问题。
因为如果后面的B,C页面如果是从A页面生成的话,关闭A不会影响B,C;而如果ABC都是从一个窗口中生成出来,则出现上面的问题。
#4
大家没有遇到过这样的问题么?
#5
我碰到过。好像是ActiveForm本身就有这个问题。我曾经建立过一个空的ActiveForm,结果照样报错。
你还是用ActiveX控件吧。不出问题。
你还是用ActiveX控件吧。不出问题。
#1
你的线程模型是什么?
#2
是Apartment模式。一般来说IE里的ActiveX控件都是这种线程模式。
#3
对了,我觉得这个问题应该跟ActiveX控件第一次用的页面直接关闭后,缓存中不存在有点关系。
因为如果后面的B,C页面如果是从A页面生成的话,关闭A不会影响B,C;而如果ABC都是从一个窗口中生成出来,则出现上面的问题。
因为如果后面的B,C页面如果是从A页面生成的话,关闭A不会影响B,C;而如果ABC都是从一个窗口中生成出来,则出现上面的问题。
#4
大家没有遇到过这样的问题么?
#5
我碰到过。好像是ActiveForm本身就有这个问题。我曾经建立过一个空的ActiveForm,结果照样报错。
你还是用ActiveX控件吧。不出问题。
你还是用ActiveX控件吧。不出问题。