是DELPHI的问题还是我的问题 我用的是DELPHI6,打了补丁2,听说没打补丁不会出现问题,不知是否如此? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.记得把ShareMem放在DLL的Uses列前面。2.如果你没有把所有的子窗口都关闭,千万不要FreeLibrary。 我常碰到这样的问题。在Delphi5时代DLL中的FORM都是MDICHILD。调用含有ADO控件的DLL时就会出错。于是我采用了这样的方式:在主程序的项目文件中 Application.Initialize;下加入如下语句: CoInitialize(nil);成功搞定。后来,升级到Delphi6以后,原来在Delphi5下,编译运行正常的程序到Delphi6下重新编译运行就出错了。最后,打了Delphi6的Update2#后搞定! 我现在是这么做,但这种情况是否太奇怪了,Loadlibrary却不能FreeLibrary 1:ftp://166.111.141.612:ftp://ftp.cs.pku.edu.cn3:ftp://202.109.129.55:105/kaifa/delphi/delphi6.rar4:http://dl1.51soft.com:8080/soft/125/delphi6.zip5:http://www.eastime.com/it/diy/delphi6.zip6:http://202.108.250.86/temp/temp/delph6.rar7:http://213.64.92.1158:http://202.96.70.229/cakk/delphi/app/D6_upd2_ent.exe9:ftp://water-e.dhs.org/Incoming/NewSoft/BORLAND.DELPHI.V6.ENTERPRISE-ZENiTH/10:ftp://water-e.dhs.org/Incoming/NewSoft/Borland.Delphi.v6.0.Enterprise-RiSCiSO/11.ftp://ftpc.borland.com/pub/delphi/techpubs/delphi6/d62ent.zip12.ftp://ftpd.borland.com/download/delphi/devsupport/delphi6/D6_upd2_ent.exe13.http://202.96.70.229/cakk/delphi/app/D6_upd2_ent.exe 14.http://www.delphibbs.com/delphibbs/download.asp 去试吧,可能8好使。 thank borlandor(五角▲大民) ( 可以肯定是你的问题 每个FORM都写成DLL简直不可思意 上面的兄弟不要这么武断,也不是每个FORM都写成DLL,是每个功能项都写成DLL。如权限分配算一个功能项,操作员分配算一个功能项 能否把你的的dll.source给我看看! to楼上的:谢谢。太大了,而且在你那边无法运行,主要是用了TCHARTFX和EHLIB的DLL有问题。原因是这样的:当两个DLL都使用一个单元,装载第一个DLL的时候执行了单元的初始化,创建一些全局的变量,装载第二个DLL的时候就不执行该单元的初始化,当调用FREELIBARAY时执行了单元的终止化:),释放那些全局的变量。那么情况可能是一个DLL还需要的全局变量已经被另一个DLL释放掉了。我觉得DELPHI是否应该做到,如果这个单元还在被其他DLL使用,就不要调用单元的终止化了,呵呵,大家不要扔石头,欢迎发表高见。 to楼上的:谢谢。太大了,而且在你那边无法运行,主要是用了TCHARTFX和EHLIB的DLL有问题。原因是这样的:当两个DLL都使用一个单元,装载第一个DLL的时候执行了单元的初始化,创建一些全局的变量,装载第二个DLL的时候就不执行该单元的初始化,当调用FREELIBARAY时执行了单元的终止化:),释放那些全局的变量。那么情况可能是一个DLL还需要的全局变量已经被另一个DLL释放掉了。我觉得DELPHI是否应该做到,如果这个单元还在被其他DLL使用,就不要调用单元的终止化了,呵呵,大家不要扔石头,欢迎发表高见。 控件问题 怎样抓取网页上的图片? 怎么判断一个窗体已经打开了 工作中遇到一个问题,急!!!!!请教各位高手 D7+ADO+MSSQL2K 参数与双引号混用 怎样调用程序执行? 继续散分 关于Socket的一个基本问题 日期比较问题 高分求助,有关动态报表的 关于文件reset,writeln的,不好意思没分了(求救)!!! 怎么在较大循环中多次getmem,和freemem会出现莫名奇妙的错误,如何解决?
2.如果你没有把所有的子窗口都关闭,千万不要FreeLibrary。
在Delphi5时代
DLL中的FORM都是MDICHILD。调用含有ADO控件的DLL时就会出错。
于是我采用了这样的方式:
在主程序的项目文件中
Application.Initialize;下加入如下语句:
CoInitialize(nil);
成功搞定。后来,升级到Delphi6以后,原来在Delphi5下,编译运行正常的程序到Delphi6下重新编译运行就出错了。最后,打了Delphi6的Update2#后搞定!
2:ftp://ftp.cs.pku.edu.cn
3:ftp://202.109.129.55:105/kaifa/delphi/delphi6.rar
4:http://dl1.51soft.com:8080/soft/125/delphi6.zip
5:http://www.eastime.com/it/diy/delphi6.zip
6:http://202.108.250.86/temp/temp/delph6.rar
7:http://213.64.92.115
8:http://202.96.70.229/cakk/delphi/app/D6_upd2_ent.exe
9:ftp://water-e.dhs.org/Incoming/NewSoft/BORLAND.DELPHI.V6.
ENTERPRISE-ZENiTH/
10:ftp://water-e.dhs.org/Incoming/NewSoft/Borland.Delphi.v6.0.
Enterprise-RiSCiSO/
11.ftp://ftpc.borland.com/pub/delphi/techpubs/delphi6/d62ent.zip
12.ftp://ftpd.borland.com/download/delphi/devsupport/delphi6/D6_upd2_ent.exe
13.http://202.96.70.229/cakk/delphi/app/D6_upd2_ent.exe
14.http://www.delphibbs.com/delphibbs/download.asp 去试吧,可能8好使。
如权限分配算一个功能项,操作员分配算一个功能项
谢谢。
太大了,而且在你那边无法运行,主要是用了TCHARTFX和EHLIB的DLL有问题。
原因是这样的:
当两个DLL都使用一个单元,装载第一个DLL的时候执行了单元的初始化,创建一些全局的变量,装载第二个DLL的时候就不执行该单元的初始化,当调用FREELIBARAY时执行了单元的终止化:),释放那些全局的变量。那么情况可能是一个DLL还需要的全局变量已经被另一个DLL释放掉了。我觉得DELPHI是否应该做到,如果这个单元还在被其他DLL使用,就不要调用单元的终止化了,呵呵,大家不要扔石头,欢迎发表高见。
谢谢。
太大了,而且在你那边无法运行,主要是用了TCHARTFX和EHLIB的DLL有问题。
原因是这样的:
当两个DLL都使用一个单元,装载第一个DLL的时候执行了单元的初始化,创建一些全局的变量,装载第二个DLL的时候就不执行该单元的初始化,当调用FREELIBARAY时执行了单元的终止化:),释放那些全局的变量。那么情况可能是一个DLL还需要的全局变量已经被另一个DLL释放掉了。我觉得DELPHI是否应该做到,如果这个单元还在被其他DLL使用,就不要调用单元的终止化了,呵呵,大家不要扔石头,欢迎发表高见。