利用delphi dll wizard进行dll的编写。创建:保存时改dll名称library test2;usesSysUtils,Classes,forms,dialogs;{$R *.res}
function test():string;
beginshowmessage('a');
end;
exportstest;//必须的
begin
end.调用:在调用单元的implement下面 function test():string;external 'xxxxxxx\test2.dll';button中调用test方法即可。动态调用dll:type//晚绑定,也就是动态调用外部函数主要用以下三个命令://LoadLibrary:获取 DLL//GetProcAddress:获取函数//FreeLibrary:释放//定义一个过程类型,参数要和需要的函数一致TMB = function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;TForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);privateMB: TMB;  {声明函数 MB}inst: LongWord;  {声明一个变量来记录要使用的 DLL 句柄}public{ Public declarations }end;
procedure TForm1.FormCreate(Sender: TObject);
begininst := LoadLibrary('user32.dll');if inst <> 0 thenMB := GetProcAddress(inst, 'MessageBoxW');end;
procedure TForm1.FormDestroy(Sender: TObject);
beginFreeLibrary(inst);  {记得释放}
end;

  

转载于:https://www.cnblogs.com/hejoy91/p/3527144.html

Delphi中的dll操作相关推荐

  1. DELPHI中拖放的操作

    拖放(DragDrop)是Windows提供的一种快捷的操作方式.作为基于Windows的开发工 具,Delphi同样支持拖放操作,而且开发应用系统的拖放功能十分方便,真正体现了 Delphi 的强大 ...

  2. delphi 中的dll编程注意事项

    虽然delphi不区分大小写,但若编写DLL就应当注意了,它是区分大小写的.导出函数,与封装类皆是如此.一定要注意.

  3. Delphi中一些DLL的运用。

    临时转载一些别人的代码: dll 调用部分:{****************************************************************} { } { Proje ...

  4. DELPHI中鼠标的各种操作

    {鼠标:右击,左击,单击,双击,滚轮,拖曳} Delphi程序设计中的鼠标控制 在Windows环境下,鼠标和键盘是主要的输入设备. 在Delphi中几乎每个对象都具有反映鼠标控制的事件, 这些事件的 ...

  5. 在Delphi中调用外部DLL 之External DLL 导入DLL

    调用一个DLL比写一个DLL要容易一些.首先给大家介绍的是静态调用方法,稍后将介绍动态调用方法,并就两种方法做一个比较.同样的,我们先举一个静态调用的例子. unit Unit1;interfaceu ...

  6. Delphi中准确记录程序执行时间

    知道如何在你的Windows和跨平台应用程序中获得一个操作的确切执行时间的信息,在各种情况下都是有用的.例如,当你需要向用户展示一个长的操作的执行时间时,它可能是必要的(顺便说一下,在这种情况下,很少 ...

  7. Delphi中DLL封装业务逻辑的实现

      三层结构是开发C/S或B/S系统经常采用的策略,这种分层方式将系统分为用户服务.业务服务和数据服务三部分,能够解决客户端与服务器结构维护成本问题.改善客户端与服务器结构延展性问题:解决应用逻辑重复 ...

  8. 如何在Delphi 中调用C#生成的DLL类库

    最近需要写一个和给上位机和下位机通讯的接口,而上位机是用Delphi开发的,所以就需要用C#做一类库给Delphi调用 大概步骤: 1.首先在VS2008中新建一个类项目名为TestDelphi,然后 ...

  9. Delphi中DLL初始化和退出处理

    Delphi中DLL初始化和退出处理 choysan 2010-01-08 8:56:43 <1>利用Unit的Initalization与Finalization这两个小节 可以在Uni ...

最新文章

  1. Scala多线程:使用线程池Executors提交Runnable任务代码示例
  2. Android 电量优化
  3. [css] 移动端1px像素的问题及解决方案是什么?
  4. libv4l 库【转】
  5. C语言和设计模式(享元模式)
  6. PAT 1012 数字分类 (20 分)(C语言)
  7. 日语入门选什么书好?
  8. 《拼多多为什么崛起?》总结笔记
  9. webpack2系列step1--HTML
  10. R语言使用sort函数对向量数据进行排序、默认从小到大升序排序、设置decreasing为真进行降序排序
  11. Java Web基础面试题
  12. VGA接口芯片-目前市面常见的VGA转换器使用芯片分析
  13. 思科ccie和华为hcie中交换机环路的产生原因和解决方法
  14. 【用pandas_alive几行代码绘制竞赛动图】全网首发pandas_alive数据可视化中文学习笔记合集,学不会来打我(配置好的venv虚拟环境+拿来即用测试代码+测试数据集+参数api解析)
  15. 给CSDN小伙伴们带来一款好用的数据恢复——R-Studio v8.15
  16. Unity WEBGL设置浏览器全屏
  17. 在LINUX中用cal命令解了一段人类文明历史 1752年 - 九月
  18. arcgis server发布shp服务实现数据库更新后服务也相应更新数据
  19. windows下安装yii2
  20. 老视频修复软件,Topaz Video Enhance Al可以视频无损放大,支持win/mac版

热门文章

  1. lvgl的区别 qt_LVGL分析-画面刷新
  2. java入门基础重要知识必考考点
  3. mysql can't open file: '..frm'_mysqldump 导出数据时出现can’t opne file ‘xx.frm’ (errno:24)错误...
  4. spark操作redis_Spark对接Redis快速入门
  5. docker helowin 迁移_禅道在docker上部署与迁移
  6. usb深度检查 清理_红桥区清理隔油池一般多少钱
  7. 新加坡区块链公司Tribe Accelerator完成7000万美元融资
  8. SAP License:SAP系统与ERP系统的区别是什么?
  9. NiosII软处理器快速入门- 10分钟学会NiosII(1)
  10. mac 源码编译yar遇见的坑