to xzhifei(飞) :你可以查查我曾经发问的帖子的结分情况!(但愿你是和我开玩笑)本人已轻松搞定,分数已不能收回,若有人回答正确照样给分!

解决方案 »

  1.   

    “如何获得文件已被修改的状态”本人又再次搞定,遗留最后一个问题:用WebBrowser1打开的doc、rtf文件如何释放关闭?高人在哪里?
      

  2.   

    procedure TForm1.SaveHTMLSourceToFile(const FileName: string;  
      WB: TWebBrowser);  
    var  
      PersistStream: IPersistStreamInit;  
      FileStream: TFileStream;  
      Stream: IStream;  
      SaveResult: HRESULT;  
    begin  
      PersistStream := WB.Document as IPersistStreamInit;  
      FileStream := TFileStream.Create(FileName, fmCreate);  
      try  
        Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;  
        SaveResult := PersistStream.Save(Stream, True);  
        if FAILED(SaveResult) then  
          MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);  
      finally  
        { we are passing soReference in TStreamAdapter constructor,  
          it is our responsibility to destroy the TFileStream object. }  
        FileStream.Free;  
      end;  
    end;  pocedure TForm1.Button1Click(Sender: TObject);  
    begin  
      if SaveDialog1.Execute then  
        SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);  
    end;  
      

  3.   

    我的代码:  if WebBrowser1.QueryStatusWB(OLECMDID_SAVE)=OLECMDF_ENABLED then
        WebBrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DONTPROMPTUSER);
      WebBrowser1.Document._Release;
      WebBrowser1.Navigate('', Flags, Flags, Flags, Flags);
      WebBrowser1.Refresh;
     //我感觉以上的代码已经释放了doc文件
      Adoquery1.Close;
      Adoquery1.SQL.Clear;
      Adoquery1.SQL.Add('update 值班记录模板 set 模板=:CC where 类别=''' + AClassType + '''');
      Adoquery1.Parameters.ParamByName('CC').LoadFromFile(FileName, ftMemo);//但是这一句出错
      Adoquery1.ExecSQL;
      WebBrowser1.Navigate(FileNameFull, Flags, Flags, Flags, Flags);请大侠指点!