特急:寻找高手,关于EHLIB 1.53的使用?(300分)

  • 主题发起人 主题发起人 zbw
  • 开始时间 开始时间
Z

zbw

Unregistered / Unconfirmed
GUEST, unregistred user!
只要我在DLL中一用EHLIB,甚至只USES它的库,退出时总会出错,不知有谁遇过,该如何解决? 错误为:应用程序错误,[0x00403070]指令引用的[0x012c2a60]内存。该内存不能为[read]。
runtime error 216 at 00003070。调试的帮助为:
Project projectname raised too many consecutive exceptions: application defined exception (code xxxx) at xxxx. Process stopped. Use Step or Run to continue.
但将EHLIB控件直接放在EXE中,则不会出错。请问是EHLIB的什么地方出错,或能否对应用程序进行错误俘获,避免提示错误。因为好象不影响在程序中使用。
 
问题尚未解决,请各位帮忙!
 
没见过
是不是有什么东西free了多次?
或是用了动态数组没有回收内存?
 
是这样的,我将控件放在EXE文件中,一点问题也没有,但放到DLL中,便有问题,
FreeLibrary不能进行。不知控件该如何修改才能避免此情况。
 
Expect Answer.
 
试试将uses ShareMem;
注意,DLL,EXE文件都要Uses才行,并且ShareMem必须是第
一个Uses中的所有unit中的第一个。呵呵....,试试吧!
 
的确是高手,虽然没有全对,但根据你的启发,我已解决这个问题,特别谢谢。
现在是这样解决的:我将EHLIB中所有的unit都加上ShareMem,同时要将所有工程文件(有用到EHLIB的工程,包括EXE和DLL工程),好象两者缺一不可。刚开始我仅将
工程文件USES ShareMem,但不行,将EHLIB控件督加上后就行了。具体表单的UNIT倒
不需要USES它。
再次表示感谢。
 
不过你发行程序时还要带上文件borlndmm.dll.
 
是的,这个我知道,还好这个DLL仅有25KB左右,放在应用软件的目录下也不占什么
空间。以后有问题望多多指点!
 
本来以为问题已经完全解决,但最后还有部分BUG,我将所有的UNIT都加上ShareMem,在DLL中,GRIDEH不能打印预览,但可以打印,在EXE中完全不存在此问题,确是奇怪,出现的错误是EConvertError.在调试状态下为'Cannot assign a TFont to TFont'。实在不知所云。
 
后退
顶部