您的位置:首页 > 其它

多个资源文件释放的问题

2009-02-03 09:47 204 查看
多个资源文件释放的问题 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061113192259243.html

已经做好了一个资源文件,里面包含有若干二进制文件,我有TResourceStream来实现资源的释放,问题就在这里,我现在用的格式是
if FileExists('C:\a.exe') then
begin
rs:=TResourceStream.Create(HInstance,'a.exe','exefile');
rs.SaveToFile('C:\a.exe');
rs.Free;
end;
if FileExists('C:\b.exe') then
begin
rs:=TResourceStream.Create(HInstance,'b.exe','exefile');
rs.SaveToFile('C:\b.exe');
rs.Free;
end;
if FileExists('C:\c.exe') then
begin
rs:=TResourceStream.Create(HInstance,'c.exe','exefile');
rs.SaveToFile('C:\c.exe');
rs.Free;
end;
总感觉不是很好,每次都要构造新的对象,能不能在原来对象的基础上继续读资源的方法?

上面的判断语句统一加上not,刚才忘记写了

把公用的部分写成一个函数

procedure ExportResToFile(const ResName, ResType, FileName: string);
var
Res: TResourceStream;
begin
if not FileExists(FileName) then
begin
Res:= TResourceStream.Create(HInstance, ResName, PChar(ResType));
try
Res.SaveToFile(FileName); //将资源保存为文件,即还原文件
finally
Res.Free;
end;
end;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: