大家救救我啊。这个问题太奇怪了。(200分)

  • 主题发起人 wmdpeter
  • 开始时间
W

wmdpeter

Unregistered / Unconfirmed
GUEST, unregistred user!
大哥们,高手们救救小弟吧。我现在遇到了一个很奇怪的问题。大大的积分相送。
我们是用DELPHI5制作的一个ActiveX控件,通过MAPX在MAPINFO图上查数据的,但现在用户
这里大多数机器在MAPINFO图中点击右键就出现“应用程序调用了为另一线程排列的界面”。
点击关于该图的按钮出现“Access violation at address 6BC41C65 in module 'MFC42.DLL'.
Read of address FFFFFFFF”
但这个问题在用DELPHI跟踪调试的时候不会出现。
请大哥们救命啊。
解决后一定给分
 
根据提示应该是类没有释放干净。所以出现这个情况,
检查一下你的所有类,是否都释放了。
 
但DELPHI跟踪的时候不出错,我就跟踪不到那个类没有释放,对了,我说明一下,用户这里
是大多数机器有问题,极少数机器是没有问题的。我的笔记本上就没有问题。怎么才能查出
问题出在那个类没释放。谢指教。
 
这是VC++的东东:'MFC42.DLL'
你的程序有没有动态调用它,
可能原形声明不正确而又没进行判断。
 
有可能机器中没有MFC42.DLL;
//这里大多数机器在MAPINFO图中点击右键就出现“应用程序调用了为另一线程排列的界面”。
这是系统中的功能?
如是在DELPHI中调试就不会出现;
 
mfc42.dll是一定有的,
“应用程序调用了为另一线程排列的界面”是WINDOWS给出的提示。
MFC42.dll在程序是没有调用,只调用了MAPX,但MAPX会调用MFC42。DLL
 
开起来象接口没正确marshal的原因.
 
是我的程序还是MAPX的,因为我在现场,如果是MAPX的那我就可以回家了。
 
我估计此问题是属于第二次打开同一界面时出现的问题,你可以第一次退出时,不将界面关闭,只将界面隐藏,第二次调用时,直接show就可以了。
 
同样的东西做成EXE,在OCX有问题的机器上运行,正常。
用IE访问这个OCX是会出问题,但用ACCESS调用这个OCX时就不会出现问题。
我的判断是IE的问题但给不出解决方案。
 
顶部