delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
多个资源文件释放的问题 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:49 delphi2007 阅读(161) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。