안녕하세요? Delphi에서 Excel로 보고서를 출력하는 작업을 하고 있으며, Error가 발생하지 않을 경우에는 큰 문제가 없이 보고서가 잘 출력되고 있습니다.
만약의 경우(Error) 발생할 때를 가정하여 일부러 Error를 발생시켜 보았는데요... Process가 여전히 종료되지 않고 남아 있더군요.
이렇게 Excel과 같이 외부 프로그램을 연동할 때, Error와 같은 상황이 발생할 경우 Process를 강제 종료하는 방법은 없습니까?
> 안녕하세요? Delphi에서 Excel로 보고서를 출력하는 작업을 하고 있으며, Error가 발생하지 않을 경우에는 큰 문제가 없이 보고서가 잘 출력되고 있습니다.
> 만약의 경우(Error) 발생할 때를 가정하여 일부러 Error를 발생시켜 보았는데요... Process가 여전히 종료되지 않고 남아 있더군요.
>
> 이렇게 Excel과 같이 외부 프로그램을 연동할 때, Error와 같은 상황이 발생할 경우 Process를 강제 종료하는 방법은 없습니까?
>
>
방법은 2가지가 있습니다.
첫번째는
EXCEL := CreateOLEObject('EXCEL.APPLICATION');
EXCEL.visible := true;
위와 같이 전송완료 전에 미리 excel을 열어두면 에러가 발생해도 excel프로그램이
보이니까 그냥 종료하면 되구요
두번째는
var
EXCEL : variant;
begin
// 자료유무검사 없으면 exit
try
EXCEL := CreateOLEObject('EXCEL.APPLICATION');
EXCEL.WORKBOOKS.ADD;
// 자료전송
:
// 자료전송
EXCEL.Visible := True;
except
if NOT VarIsEmpty(EXCEL) then
EXCEL.Quit;
end;
end;