OLE显示数据库中Word文件太慢,高手改进一下这些代码(我认为是由于先保存在C:\再显示,所以慢。)

                            
str:=TmemoryStream.Create;   
        self.ADOQuery1.SQL.Add('   select   *   from   tab1');  
          self.ADOQuery1.SQL.Add('   where   title='''+DocumentTitle+'''');  
          try  
              self.ADOQuery1.Open;  
              if   self.ADOQuery1.RecordCount>=1   then  
              begin  
                  Tblobfield(self.ADOQuery1.FieldByName('CONTENT')).savetostream(str);  
                      str.SaveToFile('c:\temp.doc');  
                      OleContainer1.CreateObjectFromFile('c:\temp.doc',False);  
                      OleContainer1.DoVerb(ovPrimary);  
                      self.Show;  
                      postmessage(self.Handle,WM_SYSCOMMAND,SC_MAXIMIZE   ,0);  
                      str.Free;  
              end;//   if   self.ADOQuery1.RecordCount>=1   then  
          except  
              str.Free;  
          end;  
  我认为是由于先保存在C:\再显示,所以慢.  
  ole能直接识别是WORD格式,并直接从memoryStream中取出数据显示?

查看回复