开发Delphi对象式数据管理功能(二)

安徒生地谎话

安徒生地谎话

2016-01-29 14:25

开发Delphi对象式数据管理功能(二),开发Delphi对象式数据管理功能(二)
 

20.1.6 TResourceStream对象 

  TResourceStream对象是另一类MemoryStream对象,它提供对Windows 应用程序资源的访问,因此称它为资源流。TResourceSream也是从TCustomMemoryStream 继承的。因此在TCustomMemoryStream对象的基础上,定义了与指定资源模块或资源文件建立连接的构造方法,并且还覆盖了Write,以实现向资源文件中写数据。

下面介绍TResourceStream的实现

  1. 私有域

  TResourceStream没有定义新的属性,但它在private部分定义了两个数据域HResInfoHGlobol和一个私有方法Initialize,它们的定义如下:

 

TResourceStream = class(TCustomMemoryStream)

private

HResInfo: HRSRC;

HGlobal: THandle;

procedure Initialize(Instance: THandle; Name, ResType: PChar);

end;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

  HRSRC是描述Windows资源信息的结构句柄。HGlobal变量代表资源所在模块的句柄。如果操作的是应用程序资源,HGlohal就代表EXE程序的句柄;如果是动态链接库(DLL),则HGlobal 代表动态链接库的句柄。TResourceStream对象使用这两上变量访问应用程序或动态链接库中的资源。

  Initialize方法是TResourceStream对象内部使用的。它墓乖旆椒?/fontCreateCreateFromID都是调用Initialize方法完成对TResourceStream的初始化。它的实现如下:

 

procedure TResourceStream.Initialize(Instance: THandle; Name, ResType: PChar);

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

procedure Error;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

begin

raise EResNotFound.Create(FmtLoadStr(SResNotFound, [Name]));

end;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/)

begin

HResInfo := FindResource(Instance, Name, ResType);

if HResInfo = 0 then

展开更多 50%)
分享

猜你喜欢

开发Delphi对象式数据管理功能(二)

Delphi
开发Delphi对象式数据管理功能(二)

开发Delphi对象式数据管理功能(四)

Delphi
开发Delphi对象式数据管理功能(四)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

开发Delphi对象式数据管理功能(一)

Delphi
开发Delphi对象式数据管理功能(一)

开发Delphi对象式数据管理功能(三)

Delphi
开发Delphi对象式数据管理功能(三)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

开发Delphi对象式数据管理功能(五)

Delphi
开发Delphi对象式数据管理功能(五)

ios应用开发数据管理工具:Core Data

手机软件 应用软件
ios应用开发数据管理工具:Core Data

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

制作一个Flash的填色游戏

制作一个Flash的填色游戏

不用数据库的多用户文件自由上传投票系统(1)

不用数据库的多用户文件自由上传投票系统(1)
下拉加载更多内容 ↓