多个资源文件释放的问题

多个资源文件释放的问题 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;

posted on 2009-02-03 09:47  delphi2007  阅读(201)  评论(0编辑  收藏  举报