fastreport与动态链接库问题(50分)

  • 主题发起人 主题发起人 nowattack
  • 开始时间 开始时间
N

nowattack

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用fastreport,动态生成frreport,并且做成动态链接库,调用此动态链
接库预览时没有错误,但是退出调用此动态链接库的程序时
出现如下错误信息:
project projec1.exe raised exception class eoserror
with message'a call to an os function failed'.process
stopped.use step or run to continue.
向各路高手求教,不胜感激。
 
你检查一下,FR下面有个DLL的例子,对比一下哪里不对。
 
发了才知道WHF也预订了通知。其实我用RM做的DLL也有一点点不正常,
调用报表编辑器后(预览和打印没问题),“偶尔有时”在程序退出时会报错,
但不是每次,所以我调试了几次都没发现原因,你有没有发现这问题?
 
不知什么原因,我使用delphi6,我函数内的字符串类型为shortstring,每次退出程序都出错。
 
可能与资源释放有关。
 
我已经close Adoquery,释放掉动态生成的控件。
 
只能听了
 
各位高手能动手是一下吗?
 
DLL传递字符串最好用PCHAR。
 
(1)注意资源释放顺序,
(2)正确设置控件的owner 与 parent属性
 
将原来为shortstring的参数改为pchar型,结果还是一样。
 
现在我发现同样的程序在公司里的机子上会出现上述问题,但在家里的机子没有出现上述
问题.公司机子用的是server 2000,我家的机子用的是advanced server 2000.
 
现在我发现当动态调用此动态链接库时没有出现上述问题,但是静态调用时出现上述问题。
 
tanxh:fr中的控件中owner属性为只读,没有parent属性,资源释放顺序也重排过,
还是出现老问题。
 
在项目文件中,加入ShareMem,一般做成DLL的话,都要加入共享内存管理,不然资源又可能会
释放不干净,在uses子句中加入
 
我已经加入过sharemem,但是结果还是一样.
 
现在问题可以简化为:当用程序动态生成frreport,并把这个程序做成动态链接库,
外部程序静态调用了这个动态链接库,当调用这个动态库的程序关闭时,就会出现这个错误。
各位大侠有什么解决的方法吗?
 
动态生成报表,肯定要用上varient,估计是这方面出了问题,好好查查吧
 
todo
nkey:能讲具体一点吗?
 
能不能发个demo?
wanghaifeng_1@163.net
 
后退
顶部