MID DlL窗体与Application.Messagebox 结合后控件失效???(38分)

  • 主题发起人 主题发起人 jozosoft
  • 开始时间 开始时间
J

jozosoft

Unregistered / Unconfirmed
GUEST, unregistred user!
现在若干窗体,封装成DLL窗体(MDI子窗体).<br>现发现一个大问题:<br>  如果MDI子窗体上有表格控件,如DBGrid或DBGridEh,而且在提交数据时或者发生了其它各种错误,并且出现了MessageBox信息框(不管是系统自己弹出的还是人工用Try...Except...显示的MessageBox),都会有问题,表现在:<br>1、表格就会没有用了。也就是用鼠标去点时没反应(就像发生了 adoDataset.DisabledControls一样,但我断点检测发现并没有执行 adoDataset.DisabledControls操作,而且,点DBNavigator时,表格上的记录还能移动,用方向键或Mouse点表格却无反应)。<br>2、DBGrid或DBGridEh本身的Enabled是正常的,可用的;<br>3、出现上面的错误时,如果把焦点移到表格以外(如各种Edit,或Button),再到表格上点一下鼠标,问题马上就解决了。<br><br> &nbsp;附注:<br> &nbsp;如果我人工用 Showmessage显示出错时的信息而不用 Application.MessageBox,就不会出错;<br> <br>  请问各位,我应该如何办呀?我必须要用 Application.MessageBox(也就是有左上角有图标的那种消息框),因为Showmessage有时会处于窗体的下面,使用户点不到,而且,有时我还要用Application.MessageBox与用户对话。
 
TAdoConnection好象是会莫名其妙出错的,<br>我公司有个系统一加入个ADO,肯定就会自动关闭的。<br>最后没办法,全部用BDE的database啦!
 
我也遇到过,不知道什么原因。
 
前一个版本都没问题的啊??
 
我遇到的是在一个窗体加了TAdoConnection.第二次以后就再也打不开这个窗体了.后来查出原因是连接问题.测试时都是直接有属性连接数据库的.用txt打开把连接去了就好了.你这会不会也是连接方面的设置出问题了.
 
回 zttz000 :<br> &nbsp;因为考虑到如果每个窗体都做一个connection,今后转到SQL 数据库时会有很多问题,而且,我很多子MDI窗体都是封装成DLL形式.<br> &nbsp;另外,我的程序没有出现第二次打不开的现象.
 
先在别的机子上试试看,排除系统问题.我用ADO还从来没碰过这么怪的问题
 
排除机器原因!<br>网友,本人,朋友都试过.<br>大家如果可以的话,可以下载试试:<br>http://www.cngrandpower.com/tanyong/jozosoft/down/bin.rar
 
你的程序里是不是用到了定时器?
 
是用到了定时器,但是:<br>1.定时器是在 login窗体上,登录后我把fmLogin 给Free掉了;<br>2.定时器是500 ms,只启动一次后就让它失效了.<br>3.进入MDi主窗体后,主窗里和子窗体都没有定时器.而且,如果我就进入主窗体,不打开子窗体,没一点事.但打开了子窗体后,即使你马上把子窗体关掉,只留下主窗体,程序一样的出错.<br><br>我尝试进入Delphi2006编译环境运行,它好像又没一点事.
 
我下载看了一下,确实会自动退出。<br>看了一下内存占用情况,有点偏高。<br>建议:有可能是DLL窗体调用的时候出现的问题,具体什么原因,要检查一下你的源代码才能知道。
 
楼上的兄弟能否提供些可能的原因呢?
 
楼上的兄弟hncsym,可以上QQ吗?我的: 48605819
 
我想你最好仔细检查一下你的软件代码。<br>另外你是什么时候开始出这样的问题的,加了什么内容,或改了什么内容。<br>没有代码我想很难有人可以帮到你。
 
楼上的各位:<br> &nbsp;原因我查出来了,是因为引用了 InfoPower的控件引起的.我的是 InfoPower for D2006 (wwDBGrid,ww***),是个试用版本(Trip),但我从网上下载了破解程序,各位大哥,有什么办法彻底破解它呀?
 
图片:<br>http://www.cngrandpower.com/tanyong/jozosoft/down/infopower.jpg<br><br>InfoPower Studio 4.0 Windows Trial.<br> -------------------<br>我下载到的破解方法:<br>把wwcommon.dcu放到<br>Borland/Woll2Woll/ipstudio2006/lib/windows<br>把dipstudiowintrial.bpl放到<br>Borland/Woll2Woll/ipstudio2006/bin/windows<br>启动Delphi就可以了<br>----------
 
多人接受答案了。
 
后退
顶部