ActiveForm的多次打开问题(200分)

  • 主题发起人 主题发起人 haze
  • 开始时间 开始时间
H

haze

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个ActiveX的控件,做网站的同事用JSP调用。
首先说明,我不懂网络编程。
在网页上点一个按钮,就会打开我写的ActiveForm。
如果打开多个form,然后关掉第一次打开的form,再点按钮打开时就会出错。
错误信息如下:
DAX Error
Access violation at address 0E263A12 in module 'myactive.ocx'.Read of address 00000000.
我找不到问题的原因,希望大侠们帮忙分析一下。
 
你在activeForm 的close事件中加个action:=cafree试试
 
activeForm 没有 close事件
 
你的 Activeform 是在浏览器里显示的还是独立显示的?
你的库里有没有共享或公用的类或变量?
可能是你第一个关掉是把 Free 掉某些东西,然后你第二次就打不开了。
 
在Activefrom里有析构过程Destroy,在里面写Action := cafree;
myactive := nil;
 
是在浏览器里显示的;
我的全局变量用Threadvar定义的;
关掉时我断开数据库连接,其他的我就没有free了
注释掉断开数据库的语句,还是一样的。
 
to 小眼白菜
Destroy里没有 Action 和 myactive
 
我屏蔽掉了所有能屏蔽的代码,只留下ActiveForm自动生成的那部分,问题还是存在。
TActiveFormFactory.Create(
ComServer,
TActiveFormControl,
TMainForm,
Class_MainForm,
1,
'',
OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
tmNeutral);
// tmApartment);
tmApartment 换过了,只能使问题更糟。
大家再帮忙看看吧,我想应该是ActiveForm的问题,不知道它对多次打开有什么特殊要求。
 
在activeForm 中怎么加 close事件
 
我也遇到这问题了,不过你的似乎不那么严重,修改一下
DELPHI SOURCE里的一个AXI??。PAS,重新编译,可能就解决了
具体查论坛里别的帖子“DAX Error”
 

Similar threads

回复
0
查看
830
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
928
DelphiTeacher的专栏
D
后退
顶部