我的调用程序是这样: 
procedure TLoginForm.Button6Click(Sender: TObject); 
var 
  ObjPackage, ObjStep, ObjTask, ObjExecPkg: variant; 
begin 
                  ObjPackage := CreateOLEObject('DTS.Package2'); 
                  ObjPackage.failonerror := true; 
                  ObjStep    := ObjPackage.steps.new; 
                  ObjTask    := ObjPackage.tasks.new('DTSExecutePackageTask'); 
                  ObjExecPkg := ObjTask.customtask;                   ObjExecPkg.PackagePassword := 'user'; 
                  ObjExecPkg.FileName := ExtractFilePath(ParamStr(0))+'DTS_YPLS.dts';; 
                  ObjExecPkg.Name := 'ExecPkgTask';                   ObjStep.TaskName := objExecPkg.Name; 
                  ObjStep.Name := 'ExecPkgStep'; 
                  ObjStep.ExecuteInMainThread := True;                   ObjPackage.Steps.Add(ObjStep); 
                  ObjPackage.Tasks.Add(ObjTask); 
                  ObjPackage.Execute;                   ObjExecPkg := Null; 
                  ObjTask := Null; 
                  ObjStep := Null; 
                  ObjPackage.UnInitialize; end; DTS包里是几步导数据的,请问为什么在最后一步出现"执行已被用户取消"的异常? 
在delphi7直接运行后点按钮执行又没有事,但编译后运行Exe文件点按钮就有上面的异常. 
我在网上查了说有个OnQueryCancel 事件的要设为假但又不知道在那里加上,什么加? 
请各位大侠帮我看看是什么原因,急阿,老板叫赶工已经两天了搞不定再搞不定就下走人了.....