学习使用资源文件[11] - DLL 中的资源文件
本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用.
第一步: 建一个 DLL 工程, 如图:
![](/assets/blank.gif)
然后保存, 我这里使用的名称都是默认的.
第二步: 建一个资源原文件, 如图:
![](/assets/blank.gif)
编辑内容如下(路径中的文件一定要存在):
img1 BITMAP "c:\temp\test.bmp"
然后, 取个名(后缀须是 rc, 我这里取名为 Res.rc), 保存在工程目录下.
第三步: 在 DLL 工程中添加这个资源原文件, 如图:
![](/assets/blank.gif)
此时, 工程源文件中会添加一句: {$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 中的资源文件相关推荐
- C++ Builder创建和调用dll中的资源
程序开发中经常会用到一些图标.图片.光标.声音等,我们称它们为资源(Resource).当多个窗口用到同样的资源时,可以将这些公共的资源放到一个dll文件里调用,这样,由于定位资源比在磁盘中定位文件花 ...
- nginx 调用dll_使用DLL中的资源
我很早的时候写过一篇MFC中CDialog与其对话框资源的绑定,但这几天在MFC DLL上做了一些工作后发现当时的理解实在肤浅.说不定过了几年再回头看看目前这篇文章,又觉得本文也是鬼话连篇了吧,哈哈. ...
- 10-1Python学习笔记 10-2C语言学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识
10-1 Python学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识, 其中每一行都以"In Python you can"打头. 将这 ...
- word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法
excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...
- matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名
matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...
- matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具 源码可见,解密P ID:22600679158222577美丽小飞侠大队
- matlab从文件夹名中获得该文件夹下所图像文件名
function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...
- ASP.NET 封装JS文件到DLL中并在页面中调用
通常在ASP.NET,我们常常会用到JS脚本来实现页面上的很多操作.在页面中引用JS的方法也是有好几种. 这里来介绍一下,如何将JS脚本内嵌到组件(Assembly)中,即DLL中.这样的做法最大的好 ...
- 封装JS文件到DLL中并在页面中调用
通常在ASP.NET,我们常常会用到JS脚本来实现页面上的很多操作.在页面中引用JS的方法也是有好几种. 这里来介绍一下,如何将JS脚本内嵌到组件(Assembly)中,即DLL中.这样的做法最大的好 ...
最新文章
- 2021年大数据Spark(三十六):SparkStreaming实战案例一 WordCount
- 状态和面向对象编程——1.定位步骤
- 精心整理,机器学习的3大学习资源
- 精读《Function VS Class 组件》
- mysql双数据源动态切换_Spring boot+Mybatis多数据源动态切换
- java equal 不等于_java Integer判断相等只能使用equals(不能使用==)
- iservice list方法_MyBatis-Plus 通用IService使用详解
- 在Java内部类中使用外部类的成员方法以及成员变量
- 腾讯云DevOps技术揭秘:新时代运维重器Tencent Hub最佳实践
- console.log()不显示结果_RNA结合蛋白与RNA的缠绵故事,教你不做实验发文章
- [物理学与PDEs]第1章习题6 无限长载流直线的磁场
- KVO(NSKeyValueObserving)、KVC(NSKeyValueCoding)作用浅谈
- python对以后的就业方向_Python的四个就业方向
- linux的steam运行游戏,桌面应用|如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏...
- Error attempting to get column ‘hiredate‘ from result set. Cause: java.sql.SQLFeatureNotSupportedEx
- 关于计算机听课如何做笔记,如何高效地听课记录笔记
- XRecycleView (Scrapped or attached views may not be recycled)
- IOS:IOS集成开发和环境的介绍
- 国产CAD制图软件中怎么设置两点标注?
- 安卓 Charles证书的安装