社区
Delphi
帖子详情
难道DELPHI写的DLL在WIN2k中有问题??
LK007
2003-07-22 06:19:40
当在DLL中打开了窗体,如果在finalization 段对窗体变量进行释放,那么在调用DLL的主程序退出时就会出错。
源码:http://www.snowflower.com.cn/czc/ai/testdll.exe
此源码在98下又可以正常运行,我想应该是WIN2K的内存管理和DELPHI的机制有冲突吧。 有人知道具体的原因吗?
...全文
36
9
打赏
收藏
难道DELPHI写的DLL在WIN2k中有问题??
当在DLL中打开了窗体,如果在finalization 段对窗体变量进行释放,那么在调用DLL的主程序退出时就会出错。 源码:http://www.snowflower.com.cn/czc/ai/testdll.exe 此源码在98下又可以正常运行,我想应该是WIN2K的内存管理和DELPHI的机制有冲突吧。 有人知道具体的原因吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LK007
2003-07-23
打赏
举报
回复
我并不热衷于什么东西,只是觉得奇怪,在98下可以运行的程序,到2K下不行!
问题是早就解决了。 就象我源码里注释掉的那两行
yoisyois
2003-07-23
打赏
举报
回复
那么热衷Initialization和Finalization?
try..finally..end不是很好吗?
用try..finally就不要用Initialization和Finalization了,你用了吗,楼主?
***********************
伤心~~~~心寒~~~~
jxc163
2003-07-23
打赏
举报
回复
可以直接用with TForm1.create(Handle) do 的方法来做呀,这样不就没有变量了吗?
jerrymousenet2
2003-07-23
打赏
举报
回复
的确是楼主所讲,关注中......
试了一下yoic的方法。
传参数的方法不行。
至于第二种方法,那么form1是个局部变量,应该也是不成的。
yoisyois
2003-07-23
打赏
举报
回复
最好把
var
Form1: TForm1;放到工程文件里面的Test函数里面声明;
yoisyois
2003-07-23
打赏
举报
回复
function test(AHandle: THandle):wordbool;
begin
AHandle := Application.Handle;
form1:=tform1.Create(application);
try
form1.ShowModal;
if form1.ModalResult=mrOk then
result:=true
else
result:=false;
finally
form1.Free;
end;
end;
调用的时候
if test(Application.Handle)=true then
showmessage('true')
else
showmessage('false');
try it!
LK007
2003-07-23
打赏
举报
回复
把源码下载,编译运行就可以看到出错的地方
人在江湖漂那能不挨刀
2003-07-23
打赏
举报
回复
up
wanderung
2003-07-22
打赏
举报
回复
不知道你具体的问题出到什么地方,绝对不是delphi或win2k的原因
Delphi
万能打印控件含源码实例.rar
Delphi
万能打印控件含源码实例,可以传入N多表格进行打印,基于
win
2k
delphi
7 开发,导出文件为:zyPrintcrt.
dll
。 zyprint.mdb为本地打印方案,你也可以保存在SQLSERVER里面。 zyprint.pas是调用文件 zyprintcrt.
dll
是打印控件 parameter目录是保存一些参数文件(ini)用的.现在暂时只有一个printcfg.ini文件
Mini
Delphi
2005 v1.2 For
Win
32 绿色便携版
Mini
Delphi
2005 v1.2 发布声明1、已找各台机器充分测试2、本1.2版本,从1月3日-6日制作,有《安装操作手册》 即:安装操作手册.txt 时间短,没有制作安装文件。请按手册工作。 以后升级版会更加傻瓜。3、专业程序员请注意:小心与完全版的设置覆盖本1.2版本实现了
delphi
2005完全脱离dotnet环境的安装,脱离donnet环境使用,脱离msi慢而繁重的安装配置过程。整个大小55M左右。只有简装版的1/5大小。完全整合d2005的 update1。注:
win
9x无法运行,因为psapi.
dll
的关系,适用
win
2k
以上版本。
ResScope
1. ResScope 在
Delphi
7.0 中重新编译,良好支持
Win
2K
,
Win
XP 环境。
2. 修正 ResScope 解释
Delphi
6.0 以上编译的程序的窗体文件,其实这个功能一年前已经实现,可惜的是
写
程序有时候要讲心情,没心情什么也
写
不了,这就是工作跟兴趣的区别。该功能令到 ResScope 成为能完美解释整个窗体文件,从而对窗体文件作整体修改的其中一个资源编辑工具。其实还不够完美,对我来说,至于为什么,下个版本会告诉你,但是以目前来说,它的
delphi
资源分析技术已经相当不错,随时都能拿这些技术开发出最强的汉化工具。
3. BForm.
dll
在
Delphi
7.0 中重新编译,支持显示
Delphi
7.0 所有的可视化控件,我已经决定,很快发布这个
DLL
的
delphi
调用例子,以后大家就可以自己用它来预览
Delphi
窗体文件,这样的带预览的
Delphi
窗体文件编辑软件可以随时做出来。
4. 修正资源
写
入的
问题
,
问题
不大,只是修正得更加标准而已。
Delphi
数据库配置超强万能打印组件含示例
zyprint.mdb为本地打印方案,你也可以保存在SQLSERVER里面。 zyprint.pas是调用文件 zyprintcrt.
dll
是打印控件 parameter目录是保存一些参数文件(ini)用的.现在暂时只有一个printcfg.ini文件.
win
2k
+
delphi
7 开发。
获得硬盘型号以及序列号
VC编
写
的
DLL
,可以获得硬盘的型号、序列号以及计算机 ID, 带
Delphi
的源程序,在
Win
2K
下通过,但是没有在
Win
9X下试过, 感兴趣的朋友可以在
Win
9X 下试一下,或者编
写
一个VB的范例。 函数以及定义: function ReadPhysicalDrive(driveID:integer;buffer:Pointer;bufLen:integer):integer; stdcall; external DiskID.
dll
name ReadPhysicalDriveInNT ; 获得
Win
NT下的硬盘型号以及序列号。参数driveID为硬盘的位置, IDE1上的主盘为0,类推到IDE2上的从盘的driveID为3。 function ReadPhysicalDrive9X (driveID:integer;buffer:Pointer;bufLen:integer):integer; stdcall; external DiskID.
dll
name ReadDrivePortsIn
Win
9X ; 获得
Win
9X下的硬盘型号以及序列号。参数同上 function getHardDriveComputerID:int64; stdcall; external DiskID.
dll
name getHardDriveComputerID ; 获得计算机的ID
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章