当我保存文件出现另存为窗口时,按取消键会进入死循环,应怎样改????procedure TForm1.SaveAs1Click(Sender: TObject);
begin   //文件另存为
  if SaveDialog1.Execute then
    wfilename:=SaveDialog1.FileName;
    S1Click(sender);
  //RichEdit1.Modified:=false;
end;procedure TForm1.S1Click(Sender: TObject);
begin   //保存文件
  if wfilename='' then
    SaveAs1Click(sender)
  else
    RichEdit1.Lines.SaveToFile(wfilename);
end;

解决方案 »

  1.   

    procedure TForm1.SaveAs1Click(Sender: TObject);
    begin   //文件另存为
      if SaveDialog1.Execute then
        wfilename:=SaveDialog1.FileName;
        S1Click(sender);
      //RichEdit1.Modified:=false;
    end;
    好像不对吧。
      

  2.   

    对呀, 
    只要你的s1click事件调用了richedit1的保存文本方法就可以呀.
      

  3.   

    哈哈!!!我已经找到解决方法了。就是加多一句begin……end;  begin   //文件另存为
      if SaveDialog1.Execute then
        begin
          wfilename:=SaveDialog1.FileName;
          S1Click(sender);
        end;
      //RichEdit1.Modified:=false;
    end;
      

  4.   

    废话, 你那么相互调用,肯定要循环到 SaveDialog1.FileName不为''为止啥!