发现一个奇怪现象,
DELPHI7下编写的程序中有些过程中代码不执行,每次编译都没有问题,就是不执行.
只有设置断点后编译才执行.

解决方案 »

  1.   

    本帖最后由 tjianliang 于 2010-05-28 09:44:24 编辑
      

  2.   

    procedure TFmBSP.RzBitBtn2Click(Sender: TObject);
    var 
      ExpClass:TDBGridEhExportClass; 
      Ext, sSave:String; 
      SaveDialog: TSaveDialog; 
    begin 
      SaveDialog:= TSaveDialog.Create(Nil); 
     // SaveDialog.FileName:= Form.Caption;
      SaveDialog.Filter:='Text files (*.txt)|*.TXT|Comma separated values (*.csv)|*.CSV|HTML file (*.htm)|*.HTM|Rich Text Format (*.rtf)|*.RTF|Microsoft Excel Workbook (*.xls)|*.XLS'; 
      sSave := Trim(ExtractFilePath(Application.ExeName)) + '导出数据';   if not DirectoryExists(sSave) then 
      begin 
        if not CreateDir(sSave) then 
        begin 
          raise Exception.Create('不能新建目录,请手工新建这目录。' + #13 + sSave); 
        end; 
      end; 
      SaveDialog.InitialDir:= sSave;   if SaveDialog.Execute then 
      begin 
        case SaveDialog.FilterIndex of 
          1:  begin ExpClass  :=  TDBGridEhExportAsText;  Ext :=  'txt';  end; 
          2:  begin ExpClass  :=  TDBGridEhExportAsCSV;  Ext :=  'csv';  end; 
          3:  begin ExpClass  :=  TDBGridEhExportAsHTML;  Ext :=  'htm';  end; 
          4:  begin ExpClass  :=  TDBGridEhExportAsRTF;  Ext :=  'rtf';  end; 
          5:  begin ExpClass  :=  TDBGridEhExportAsXLS;  Ext :=  'xls';  end; 
        else 
          ExpClass := nil; Ext := ''; 
        end; 
        if ExpClass <> nil then 
        begin 
          if UpperCase(Copy(SaveDialog.FileName,Length(SaveDialog.FileName)-2,3)) <> UpperCase(Ext) then 
            SaveDialog.FileName := SaveDialog.FileName + '.' + Ext; 
          SaveDBGridEhToExportFile(ExpClass,dbgAirPriceFile,SaveDialog.FileName,not dbgAirPriceFile.CheckCopyAction); 
          Application.MessageBox('数据成功导出!','信息',64);      
        end; 
      end;这个是无效代码?
      

  3.   

    说到 DBGridEh,忘记是 TDBGridEhExportAsCSV 还是 TDBGridEhExportAsRTF
    导出时 字段间的分隔符有点问题好像,要改下那个源码
    LZ自己确认下先。
      

  4.   

    如果赋给SaveDialog.FileName的字符串不合法就有问题,比如不执行保存
      

  5.   

    整个TFmBSP.RzBitBtn2Click方法都不执行?
      

  6.   

    你把代码贴到写字板上,看看有无怪字符,如果有,删除,再拷贝到DELPHI就好了
      

  7.   

    跟时间有关系,请看一下调这个过程的时间顺序,或在这个过程中加一个SLEEP试试
      

  8.   

    用sendmessage看看是哪里开始不执行了