以下是程序段:
procedure TForm1.Button3Click(Sender: TObject);
var
  new_code,old_code:String;
begin
ExecuteFile('Plus33w', 'nbyh/nbyh  @c:\22.sql', 'c:\orawin95\bin', 1);
if(ComboBox10.Text<>'')then
begin
  qry.Close;
  qry.SQL.Clear;
  qry.SQL.Add('select * from WZGL.NEW_OLD_WZBH where new_wzbh='''+ComboBox10.Text+'''');
  qry.Open;
  new_code:=qry.Fields.Fields[1].AsString;
  old_code:= qry.Fields.Fields[0].AsString;
  qry.Close;
  qry.SQL.Clear;
  qry.SQL.Add('delete from WZGL.NEW_OLD_WZBH where new_wzbh='''+new_code+''' and old_wzbh='''+old_code+'''');
  qry.Prepare;
  qry.ExecSQL;
  self.TabSheet2.OnShow(self);
  ShowMessage('撤销成功!');
end;
end;
如果设断点程序会按步骤一步步执行,先执行ExecuteFile()函数,再执行情况QRY中的删除操作,但是如果不设置断点,程序会自动先执行删除操作再执行函数,这是怎么回事?而且在2000操作系统下一点问题没有。在98下就会这样。是不是与oracle版本有关系?