delphi问题

请DELPHI高手帮我写段代码,要求简单带注释,因为我是小菜。代码大概意思是,写一个EXE小程序,打开一个带有窗体的DLL文件,这个带有窗体的文件可以读取D盘的123.I... 请DELPHI高手帮我写段代码,要求简单带注释,因为我是小菜。
代码大概意思是,写一个EXE小程序,打开一个带有窗体的DLL文件,这个带有窗体的文件可以读取D盘的 123.INI文件。
就是DLL文件代码,和一个主程序代码,要简单的能通过的,我不能排除错误,我是刚学的菜鸟。谢谢!
展开
 我来答
ototing
2010-05-13 · TA获得超过821个赞
知道小有建树答主
回答量:352
采纳率:0%
帮助的人:469万
展开全部
我编写了一个能想到的最精简的代码给你:首先建立一个DLL文件,共包含两个文件(DllFrm.dpr,Unit1.pas)如下:
<DllFrm.dpr>:
library DllFrm;
uses
SysUtils,Classes,unit1; //引用UNIT1单元,放置窗体程序
{$R *.res}
exports
ShowForm; //DLL文件向外提供打开窗体的接口函数名称
begin
end.

<Unit1.pas>:
unit Unit1;
interface
uses
Windows, SysUtils, Classes, Forms,inifiles;
type
TForm1 = Class(TForm);
procedure ShowForm;stdcall;//声明打开窗体的接口函数
implementation
{$R *.dfm}
procedure ShowForm;stdcall; //打开窗体的接口函数的具体内容
var
Inifile:Tinifile; //声明一个INI文件变量
begin
with TForm.Create (Application) do //在运行时建立一个新窗体
begin
Inifile:=Tinifile.Create('D:\123.ini');//打开inifile
Caption:=Inifile.readstring('Frm','Caption',''); //读取INI文件内的字符信息
Inifile.Free; //释放inifile
ShowModal; //模式显示此新建的窗体
Free; //当窗体关闭后,注销此窗体
end;
end;
end.

编译后生成:<DLLMem.dll>

再新建立一个工程,用于调用此DLL,共有两个文件(LoadDllFrm.dpr和Unit2),在窗体Form1上添加一个按钮用于调用并打开DLL里面的窗体,具体代码如下:
<LoadDllFrm.dpr>:
program LoadDllFrm;
uses
Forms,
Unit2 in 'Unit2.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

<Unit2.pas>:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure ShowForm;stdcall;external 'DllFrm.dll';//声明装入DLL中的函数,用于打开DLL中的窗体
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowForm;//调用DLL函数,打开窗体
end;
end.

<d:\123.ini的内容如下>
[Frm]
Caption=装载成功
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
gladiolus521
2010-05-13 · 超过35用户采纳过TA的回答
知道答主
回答量:205
采纳率:0%
帮助的人:83.8万
展开全部
Dll冇搞过呢
用的少了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ysjqrmpv
2010-05-13 · TA获得超过116个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:205万
展开全部
才30分也太少了,追加分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式