本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用.



第一步: 建一个 DLL 工程, 如图:

然后保存, 我这里使用的名称都是默认的.



第二步: 建一个资源原文件, 如图:

编辑内容如下(路径中的文件一定要存在):
img1 BITMAP "c:\temp\test.bmp"

然后, 取个名(后缀须是 rc, 我这里取名为 Res.rc), 保存在工程目录下.



第三步: 在 DLL 工程中添加这个资源原文件, 如图:

此时, 工程源文件中会添加一句: {$R 'Res.res' 'Res.rc'}, 我们需要的源文件这样即可: library Project1; {$R 'Res.res' 'Res.rc'} begin end. 然后 Ctrl+F9 编译; 此时在工程目录下会生成我们需要的 Project1.dll.



第四步: 把刚才的 Project1.dll 文件复制到 c:\temp 下.
这样过会我们可以通过 c:\temp\Project1.dll 找到这个文件. 至此 DLL 制作完毕.



第五步: 重新建一个 VCL Forms Application 工程, 代码如下:

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;typeTForm1 = class(TForm)procedure FormPaint(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);
varh: THandle;bit: TBitmap;
beginh := LoadLibrary('c:\temp\Project1.dll'); {载入 DLL}bit := TBitmap.Create;bit.LoadFromResourceName(h, 'img1');      {提取资源}Canvas.Draw(10, 10, bit);                 {在窗体上绘制图片}FreeLibrary(h);                           {载卸 DLL}bit.Free;
end;end.//效果图:


学习使用资源文件[11] - DLL 中的资源文件相关推荐

  1. C++ Builder创建和调用dll中的资源

    程序开发中经常会用到一些图标.图片.光标.声音等,我们称它们为资源(Resource).当多个窗口用到同样的资源时,可以将这些公共的资源放到一个dll文件里调用,这样,由于定位资源比在磁盘中定位文件花 ...

  2. nginx 调用dll_使用DLL中的资源

    我很早的时候写过一篇MFC中CDialog与其对话框资源的绑定,但这几天在MFC DLL上做了一些工作后发现当时的理解实在肤浅.说不定过了几年再回头看看目前这篇文章,又觉得本文也是鬼话连篇了吧,哈哈. ...

  3. 10-1Python学习笔记 10-2C语言学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识

    10-1 Python学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识, 其中每一行都以"In Python you can"打头. 将这 ...

  4. word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法

    excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...

  5. matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名

    matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...

  6. matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具

    matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具 源码可见,解密P ID:22600679158222577美丽小飞侠大队

  7. matlab从文件夹名中获得该文件夹下所图像文件名

    function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...

  8. ASP.NET 封装JS文件到DLL中并在页面中调用

    通常在ASP.NET,我们常常会用到JS脚本来实现页面上的很多操作.在页面中引用JS的方法也是有好几种. 这里来介绍一下,如何将JS脚本内嵌到组件(Assembly)中,即DLL中.这样的做法最大的好 ...

  9. 封装JS文件到DLL中并在页面中调用

    通常在ASP.NET,我们常常会用到JS脚本来实现页面上的很多操作.在页面中引用JS的方法也是有好几种. 这里来介绍一下,如何将JS脚本内嵌到组件(Assembly)中,即DLL中.这样的做法最大的好 ...

最新文章

  1. 2021年大数据Spark(三十六):SparkStreaming实战案例一 WordCount
  2. 状态和面向对象编程——1.定位步骤
  3. 精心整理,机器学习的3大学习资源
  4. 精读《Function VS Class 组件》
  5. mysql双数据源动态切换_Spring boot+Mybatis多数据源动态切换
  6. java equal 不等于_java Integer判断相等只能使用equals(不能使用==)
  7. iservice list方法_MyBatis-Plus 通用IService使用详解
  8. 在Java内部类中使用外部类的成员方法以及成员变量
  9. 腾讯云DevOps技术揭秘:新时代运维重器Tencent Hub最佳实践
  10. console.log()不显示结果_RNA结合蛋白与RNA的缠绵故事,教你不做实验发文章
  11. [物理学与PDEs]第1章习题6 无限长载流直线的磁场
  12. KVO(NSKeyValueObserving)、KVC(NSKeyValueCoding)作用浅谈
  13. python对以后的就业方向_Python的四个就业方向
  14. linux的steam运行游戏,桌面应用|如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏...
  15. Error attempting to get column ‘hiredate‘ from result set. Cause: java.sql.SQLFeatureNotSupportedEx
  16. 关于计算机听课如何做笔记,如何高效地听课记录笔记
  17. XRecycleView (Scrapped or attached views may not be recycled)
  18. IOS:IOS集成开发和环境的介绍
  19. 国产CAD制图软件中怎么设置两点标注?
  20. 安卓 Charles证书的安装

热门文章

  1. 双11大幕拉开,菜鸟智能机器人也将测试运行
  2. linux 下查mac
  3. 二.第五单元     lvm管理
  4. SQL语句 - 嵌套查询
  5. php 计算一个字符串在另一个字符串中出现的次数
  6. EF架构~在T4模版中为所有属性加默认值
  7. KDE发布四月份更新(4.6.2),与GNOME同祝
  8. 招聘带来的Silverlight团队技能指标
  9. python requests 爬取数据
  10. CentOS7,使用tar命令解压缩文件