社区
Delphi
帖子详情
这样做dll可不可以?
jlfreesea
2002-04-10 02:47:36
将一个工程文件改装成dll
里面用到了begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
我学delphi很浅
而且时间很急
谢谢!
...全文
24
6
打赏
收藏
这样做dll可不可以?
将一个工程文件改装成dll 里面用到了begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; 我学delphi很浅 而且时间很急 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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.
msvcr100d.
dll
(包括32位和64位两个版本)
msvcr100d.
dll
是Microsoft Visual C++运行时库的一个动态链接库文件,它是Windows操作系统中不可或缺的一部分,特别是对于那些使用C++编译器开发的应用程序而言。该文件包含了运行这些应用程序所需的函数和资源,如...
DirectX修复工具 V3.3增强 绿色版
请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户...
DirectX修复工具 V3.3标准 绿色版
请注意,并不是所有的
dll
文件都可以通过这种方式注册。点击“DirectX版本”选项卡可以自行修改系统中DirectX的版本信息。点击“DirectX加速”选项卡可以控制系统中DirectX加速的开启与关闭。 新版程序集成了用户...
DLL
文件是什么?有几种调用方式?
一、
DLL
文件是什么?
DLL
(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。...一个应用程序可使用多个
DLL
文件,一个
DLL
文件也可能被不同的应用程序使用,这样的
DLL
文件
【已解决】node.
dll
丢失怎么办?计算机丢失node.
dll
是什么意思?
DLL
是一个作为共享函数库的可执行文件,它使进程可以调用不属于本身可执行代码中的函数。函数的可执行代码位于一个独立的动态链接库文件中,这样可以节省内存和磁盘的存储空间,同时使程序更易于升级对于系统的稳定...
Delphi
5,927
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章