多个资源文件释放的问题 Delphi / Windows SDK/APIhttp://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;