社区
Delphi
帖子详情
这样做dll可不可以?
jlfreesea
2002-04-10 02:47:36
将一个工程文件改装成dll
里面用到了begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
我学delphi很浅
而且时间很急
谢谢!
...全文
22
6
打赏
收藏
这样做dll可不可以?
将一个工程文件改装成dll 里面用到了begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; 我学delphi很浅 而且时间很急 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jlfreesea
2002-04-17
打赏
举报
回复
应该是右下角
结账!
jlfreesea
2002-04-12
打赏
举报
回复
点了
还是这个界面!
GreenWaterBlueSky
2002-04-11
打赏
举报
回复
呵呵,点右上角的管理你就知道怎么给分了?
jlfreesea
2002-04-11
打赏
举报
回复
谢谢
如何送分
JYYF21
2002-04-10
打赏
举报
回复
给你个例子:
DLL文件在Delphi的创建及调用
现时系统的开发,多数都在几人以上的组合,合作方式开发,这样也方便系统的快速开发目的。而DLL的方法最为方便。
一.函数过程的写法:
library FIRSTDLL;
uses SysUtils, Classes;
{$R *.RES}
// 1.定义函数具体过程和输出接口方式 // 函数 1 // 功能:事数据3倍放大函数
function PenniesToSoins(SourceResult:Integer):Integer;stdCall;
begin
if SourceResult>0 then
Result:=SourceResult*3 //结果存放于Result
else
Result:=SourceResult;
end;
exports
PenniesToSoins; //2.函数输出口定义
end.
二.在DLL中创建Form
1.一步,创建DLL工程,及加入设置好的Form
library MGRPERSN;
uses SysUtils, Classes,
MGRPERFM in 'MGRPERFM.pas' {FormPERSON};//1.Form的代码(与一般的Form一样)
{$R *.RES}
exports
ShowPerSN;//2.函数输出口定义
begin
end.
2. 在DLL设定的Form的设置
unit MGRPERFM;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, ToolWin, ImgList;
type
TFormPERSON = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
//些处的变量不再用,给其改个地方,如下(改变之一)
//var FormPERSON: TFormPERSON;
{ Declare the export function 宣布Form函数出口}//改变之二
function ShowPerSN(AHandle: THandle; ACaption: String):BOOL; StdCall;
implementation
{$R *.DFM} //函数据过程定义
function ShowPerSN(AHandle: THandle; ACaption: String):BOOL;
var FormPERSON: TFormPERSON; //定义窗体类(上面的放到了此处)
begin
//拷贝应用程式句柄给DLL的应有程式对象
Application.Handle := AHandle;
FormPERSON := TFormPERSON.Create(Application);//创建控件TForm
try
FormPERSON.Caption := ACaption;
FormPERSON.ShowModal;//显示此Form
Result := False; //反回成功值
finally
FormPERSON.Free;
end;
end;
三.DLL中函数及窗体的调用
1.调用方法一
implementation //在此的下方写明调用函数的DLL
{$R *.DFM}//DLL内函数调用
function PenniesToSoins(SourceResult:Integer):Integer; StdCall external 'FIRSTDLL.DLL';
2.调用方法二
type //在此创建一个函数类
{ First, define a procedural data type, this should reflect the procedure that is exported from the DLL. }
{ Create a new exception class to reflect a failed DLL load }
TShowPerSN = function (AHandle: THandle; ACaption: String): BOOL; StdCall;
EDLLLoadError = class(Exception);//同时创建一个出错记录类
TMAINCLTR = class(TForm) //这里不变,系统自动生成
procedure TMAINCLTR.ToolButton1Click(Sender: TObject);
var //按钮的调用事件:调用过程
LibHandle: THandle; ShowPerSN: TShowPerSN;
begin
Application.Title:='人力资源管理系统DLL文件测试程式';
LibHandle := LoadLibrary('MGRPERSN.DLL'); { Attempt to load the DLL 尝试装入DLL文件}
try
if LibHandle = 0 then
raise EDLLLoadError.Create('Unable to Load DLL(无法成功装入MGRPERSN.DLL)');
@ShowPerSN := GetProcAddress(LibHandle, 'ShowPerSN');
if not (@ShowPerSN = nil) then ShowPerSN(Application.Handle, '人事资料管理')//呼叫出窗体
else RaiseLastWin32Error;
finally
FreeLibrary(LibHandle); // Unload the DLL.
end;
end;
imchk6
2002-04-10
打赏
举报
回复
不行啊,应该这样的.
library my_dll;
uses
{ ShareMem,
SysUtils,
Classes, }
HSS in 'HSS.pas';
exports
yourfunction,
yourprocedure;
begin
end.
DirectX修复工具 V3.3增强 绿色版
请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户...
DirectX修复工具 V3.3标准 绿色版
请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户...
【已解决】node.
dll
丢失怎么办?计算机丢失node.
dll
是什么意思?
DLL
是一个作为共享函数库的可执行文件,它使进程可以调用不属于本身可执行代码中的函数。函数的可执行代码位于一个独立的动态链接库文件中,这样可以节省内存和磁盘的存储空间,同时使程序更易于升级对于系统的稳定...
dll
是什么呢?
dll
丢失如何解决?
DLL
的概念
DLL
(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。...一个应用程序可使用多个
DLL
文件,一个
DLL
文件也可能被不同的应用程序使用,这样的
DLL
文件被称为...
DLL
文件是什么?有几种调用方式?
一、
DLL
文件是什么?
DLL
(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。...一个应用程序可使用多个
DLL
文件,一个
DLL
文件也可能被不同的应用程序使用,这样的
DLL
文件
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章