社区
Delphi
帖子详情
有关DLL的问题
barton
2000-01-02 06:27:00
我用Delphi3做一个DLL,如果不加入Forms到uses中,结果只有50K大小,
加入Forms后,结果却是172K,可见一个Forms的引用所生成的代码就是
120K左右,Delphi4,5结果会更糟。但我们知道,主程序与DLL是在一个
代码段执行,这意味着在一个代码段有相同多达120K的重复代码。因为
我的程序每个DLL中都要用到Application这个变量,这样就不得不引用
Forms,这种情形如何避免?
...全文
547
23
打赏
收藏
有关DLL的问题
我用Delphi3做一个DLL,如果不加入Forms到uses中,结果只有50K大小, 加入Forms后,结果却是172K,可见一个Forms的引用所生成的代码就是 120K左右,Delphi4,5结果会更糟。但我们知道,主程序与DLL是在一个 代码段执行,这意味着在一个代码段有相同多达120K的重复代码。因为 我的程序每个DLL中都要用到Application这个变量,这样就不得不引用 Forms,这种情形如何避免?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kingron
2001-05-14
打赏
举报
回复
提问者:如要继续讨论请定期提前贴子,如不想讨论请结束贴子。
gypb
2000-02-18
打赏
举报
回复
DLL调用时处理好,是不会在状态拦显示新窗体的。
作法如下:
在DLL调用过程中加入参数PAPP:TAPPLICATION,在过程中这样写:
VAR
OAPP:tAAPLICATION;
BEGIN
APPLICATION:=PAPP;
{
DO SOMTHING。。。
}
APPLICATION:=OAPP;
END;
Lin
2000-02-14
打赏
举报
回复
窗体不在任务栏上显示出来: ShowWindow(Application.Handle, SW_HIDE);
大功告成!
jll
2000-02-04
打赏
举报
回复
如果你的DLL在任务栏上显示出来,那它实际上是一个非模态窗口,你用模态窗口就行了。
注意:这种非模态窗口其实和主窗口是不同步的,因为它们分别有各自的Application变量。如果你去掉DLL中的Application变量,应该就没有什么大问题了。
barton
2000-02-04
打赏
举报
回复
jll的话听起来有一些道理,而且我一直坚持按“惯例”办。不过我要求在调用
DLL时显示的窗体不在任务栏上显示出来并不过份吧,那么如何既不“违规”,
又解决问题呢?
jll
2000-02-04
打赏
举报
回复
大家知道Application是一个全局变量,在我们自己编写的DLL中一般应尽量避免传递全局变量(主要是VCL类,再就是形如Application之类的系统变量)。实际上并没有什么固定的条约来约束我们编写DLL,但作为一个优秀的程序员,应该尽量使自己的代码符合国际惯例。关于DLL的一些细节,建议大家参考Marco Cantu写的《Delphi 3 从入门到精通》(电子工业出版社)
barton
2000-02-04
打赏
举报
回复
正好相反。我的DLL中是模式窗口。说得更明白一些:一个登录对话框。我的一套
系统中多个可执行文件都要用到它。不过我已经用一个不怎么好的方法搞定了。
传递Application的Handle值,传给DLL中的Application,浪费了我121K。因为如果
窗体的Owner为空的话,系统会认为是另一个Application,任务栏上一定会显示。
barton
2000-02-01
打赏
举报
回复
to Firing_Sky:还没有结果,为什么要了结?
to jll:我不明白为什么DLL不可以使用Application这个全局变量,为什么就
一定违反了DLL的一些约定,到底是哪些约定?我做成DLL的目的无非是要几个
应用程序都可以使用一些公共例程,而这些例程又与Application有关。
我不知道各位是否用过Dream Controls,这个控件包中含有十多个对话框,都要
用到Application,因为要从MainForm中取得很多信息。当然我不需要,我只要
在显示DLL中的对话框时系统不会认为是两个Application,而在任务条上显示两
项任务。
Firing_Sky
2000-01-31
打赏
举报
回复
天,这个问题还没了结?
jll
2000-01-31
打赏
举报
回复
抱歉,由于本人疏忽,网址写错了。http://bluebird22.easthome.net
jll
2000-01-31
打赏
举报
回复
barton:
如果你编写的DLL包Application的话,你实际上已经违反了编写DLL的一些约定,不值得提倡!如果你很在乎120K空间的话,应该把DLL中的内容放到主Form和主Unit中去,这样即快又稳,何乐而不为?
kxy
2000-01-31
打赏
举报
回复
有TApplication的源码,自己改写一个.
barton
2000-01-31
打赏
举报
回复
jll没有明白我的意思。我只需要Application这一全局变量。
jll
2000-01-30
打赏
举报
回复
Forms单元封装了窗口的属性,如果你的DLL中不包含可视化控件,如:Button、Memo等等,就可以大胆去掉该单元的引用。不过,在你编写的源代码中不能包含类似TForm1.的语句。换句话说,就是你的代码必须是纯代码(与VCL无关)。
有兴趣的话,可以去http://bluebird22.east.net看看我写的一篇文章。
spear
2000-01-05
打赏
举报
回复
但是Dll本身就是违反类的原则的
barton
2000-01-04
打赏
举报
回复
。。。等一等,我试试看。。。
kxy
2000-01-03
打赏
举报
回复
有TApplication的源码,是否自己改写一个,只是包含自己使用的功能.
120K重要吗?网上下载120K,30秒不到.
Firing_Sky
2000-01-03
打赏
举报
回复
这样的话,你自己将forms单元改写一下,把不相干的内容都删掉。再把单元改个名字来引用不知能不能行得通
barton
2000-01-03
打赏
举报
回复
我并不真的认为120K重要,但我认为一定有解决的办法,因为这多余的120K违反了
类的原则。
barton
2000-01-03
打赏
举报
回复
首先我得感谢各位的热情解答。不过不能让人满意。
1.带运行包是可以的,不过这不是Delphi推荐的作法。因为做好的安装盘,将
运行包拷贝到system目录下,会与其它的软件发生冲突,譬如另一个应用程序
也用带运行包运行,但版本却不一样,不是我的程序不能运行,就是他的程序
不能运行。
2.当能也可以将所有的DLL装到一个应用程序中,甚至连一个DLL也不要,全部
代码装到一个EXE中。不过我用DLL的目的,主要是想在运行时能替换代码。用
户可以选择不同的DLL来运行应用程序以达到不同的效果。
3.Firing_Sky讲将所有与Application有关的处理放在一个DLL中,似乎有一定
的道理,不过这个DLL中也得引用Forms。
加载更多回复(3)
DirectX修复工具V1.0
DirectX修复工具(DirectX repair)是一款完全由本人自主开发的系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。资源中的技术文档包含程序的部分源代码,以供编程爱好者交流。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista以及Windows 7,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。本程序中包含了最新版的DirectX redist(Jun2010),并且全部文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、修复的全部功能,无需用户的介入,大大降低了使用难度。 本程序采用了多线程编程技术,可充分利用系统的资源,减少时间的等待。同时,针对部分低性能电脑,也做了一定程度的优化。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现
问题
时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了2项高级功能。点击其中的“注册系统中所有
dll
文件”按钮可以自动注册系统文件夹下的所有
dll
文件。该项功能不仅能修复DirectX的
问题
,还可以修复系统中很多其他由于
dll
未注册而产生的
问题
,颇为实用。点击第二个按钮可以为
dll
文件的右键菜单添加“注册”和“卸载”项,方便对单独的
dll
文件进行注册。请注意,并不是所有的
dll
文件都可以通过这种方式注册。 程序附带了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现
问题
时通过反馈程序和软件作者进行交流,共同查找
问题
。反馈是完全匿名和自愿的。 本程序基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本才可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7用户,可以直接运行本程序。
DirectX修复工具 V3.3标准 绿色版
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b
问题
设计,可以完美修复该
问题
。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V3.3版分为标准版、增强版以及在线修复版。其中的标准版以及增强版都包含完整的DirectX组件。除此之外,增强版中还额外包含了c++ Redistributable Package,因此增强版不但能解决DirectX组件的
问题
,而且还能解决c++组件异常产生的
问题
。增强版适合无法自行解决c++相关
问题
的用户使用。在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现
问题
时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有
dll
文件”按钮可以自动注册系统文件夹下的所有
dll
文件。该项功能不仅能修复DirectX的
问题
,还可以修复系统中很多其他由于
dll
未注册而产生的
问题
,颇为实用。点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的
dll
文件,方便用户对绿色版、硬盘版的程序组件进行注册。点击第二个按钮可以为
dll
文件的右键菜单添加“注册”和“卸载”项,方便对单独的
dll
文件进行注册。请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现
问题
时通过反馈程序和软件作者进行交流,共同查找
问题
。反馈是完全自愿和匿名(如果不填写E-mail地址)的。 本程序的通用版基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本方可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7及后续用户,可以直接运行本程序。 同时鉴于Windows 8(Windows 8.1、Windows 8.1 Update)、Windows 10系统中默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个DirectX_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET Framework 4.0开发,可以在Windows8(Windows 8.1、Windows 8.1 Update)、Windows 10系统中直接运行(其他系统如果安装了.NET Framework 4.0也可以运行这个特别版的程序)。 本程序的官方博客地址为:http://blog.csdn.net/vbcom/article/details/6962388 所有的更新以及技术支持都可以到该博客上找到。
Windows进程常用
DLL
模块注入技术
课程结合多种Windows进程常用
DLL
注入技术。远程线程注入APC注入,异步调用过程,向目标线程插入待执行任务从而完成注入。窗口消息注入,指定窗口进程注入,与全局钩子注入类似。环境块注入,获取进程上下文信息,直接性修改程序执行流程完成注入。进程入口点注入,在程序初始化的时机前将
dll
模块文件注入至目标主线程。进程调试级注入,涉及调试器相关功能调用知识点
dll
模块重定位内存注入,模拟操作系统加载PE文件方式,直接将
dll
文件内存数据写入目标进程并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级
Dll
模块注入技术,内核驱动入门扩展。
DirectX修复工具 V3.3增强 绿色版
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b
问题
设计,可以完美修复该
问题
。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V3.3版分为标准版、增强版以及在线修复版。其中的标准版以及增强版都包含完整的DirectX组件。除此之外,增强版中还额外包含了c++ Redistributable Package,因此增强版不但能解决DirectX组件的
问题
,而且还能解决c++组件异常产生的
问题
。增强版适合无法自行解决c++相关
问题
的用户使用。在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现
问题
时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有
dll
文件”按钮可以自动注册系统文件夹下的所有
dll
文件。该项功能不仅能修复DirectX的
问题
,还可以修复系统中很多其他由于
dll
未注册而产生的
问题
,颇为实用。点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的
dll
文件,方便用户对绿色版、硬盘版的程序组件进行注册。点击第二个按钮可以为
dll
文件的右键菜单添加“注册”和“卸载”项,方便对单独的
dll
文件进行注册。请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现
问题
时通过反馈程序和软件作者进行交流,共同查找
问题
。反馈是完全自愿和匿名(如果不填写E-mail地址)的。 本程序的通用版基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本方可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7及后续用户,可以直接运行本程序。 同时鉴于Windows 8(Windows 8.1、Windows 8.1 Update)、Windows 10系统中默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个DirectX_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET Framework 4.0开发,可以在Windows8(Windows 8.1、Windows 8.1 Update)、Windows 10系统中直接运行(其他系统如果安装了.NET Framework 4.0也可以运行这个特别版的程序)。 本程序的官方博客地址为:http://blog.csdn.net/vbcom/article/details/6962388 所有的更新以及技术支持都可以到该博客上找到。
DirectX修复工具 V2.1标准版
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b
问题
设计,可以完美修复该
问题
。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista以及Windows 7,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V2.1版分为标准版、增强版以及在线修复版。其中的标准版以及增强版都包含完整的DirectX组件,增强版中还额外包含了c++ Redistributable Package,因此增强版适合无法自行解决c++相关
问题
的用户使用;在线修复版的功能与标准版相同,只是其所需的文件将通过Internet下载,因此大大减小了程序的体积。本程序的各个版本之间,主程序完全相同,只是配套使用的数据包不同。因此,当您使用标准版数据包时,程序将进行标准修复;当您使用增强版的数据包时,程序将进行增强修复;当数据包不全或没有数据包(即只有DirectX Repair.exe程序)时,程序将进行在线修复。在线修复、离线修复可自由灵活组合,充分满足不同用户的需要。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。此功能仅限于增强版。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现
问题
时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了2项高级功能。点击其中的“注册系统中所有
dll
文件”按钮可以自动注册系统文件夹下的所有
dll
文件。该项功能不仅能修复DirectX的
问题
,还可以修复系统中很多其他由于
dll
未注册而产生的
问题
,颇为实用。点击第二个按钮可以为
dll
文件的右键菜单添加“注册”和“卸载”项,方便对单独的
dll
文件进行注册。请注意,并不是所有的
dll
文件都可以通过这种方式注册。 新版程序集成了用户反馈程序,可以在用户允许的前提下发送检测修复结果。用户也可以在出现
问题
时通过反馈程序和软件作者进行交流,共同查找
问题
。反馈是完全自愿和匿名(如果不填写E-mail地址)的。 本程序基于Microsoft .NET Framework 2.0开发,对于Windows 2000、Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本方可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。对于Windows Vista、Windows 7用户,可以直接运行本程序。 本程序的官方博客地址为:http://blog.csdn.net/vbcom/article/details/6962388 所有的更新以及技术支持都可以到该博客上找到。
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章