쩝.. 제 자리에서 테스트 할때는 죽어라고 해도 에러가 안나오는데
다른 자리에 가서 하면 에러가 나서 이유를 찾아낼려고 해도 어렵네요.
소스는 아래와 같습니다.
전표 출력하는것을 text로 떨궈서리 프린터로 내보내는것인데
실제로 (copy a.txt lpt1) 과 비슷한 효과를 내는 것입니다.
pSource := 'C:testHBAC100P.TXT';
// pDestination := PRINTER_PORT;
pDestination := 'hb110208lg';
if CopyFile(PChar(pSource),PChar(pDestination),False) = False then
begin
MessageDlg('전표를 출력하는중에 에러가 발생하였습니다.',mtError,[mbOk],0);
Exit;
end;
근데 copyfile을 실행하면서 전표가 출력이 되면서 '전표를 출력하는 중에 에러가 밸생하였습니다.'란 메세지가 나오기도 하구요.
제가 조금전에 미친듯이 했지만서도 trace를 걸어 실행하는데
if 문장 아래 messagedlg는 실행이 안되면서 exit문장은 실행이 되더군요.
답답해서 copyfile문장을 밖에다 두고
cpResult : Bool 이란 변수를 잡아서 값을 확인해보니,
True라고 값이 먹으면서도
if cpResult = False then
begin
MessageDlg('전표를 출력하는중에 에러가 발생하였습니다.',mtError,[mbOk],0);
Exit;
end;
하면 역시 아예 실행이 안되어야 할 exit쪽으로 커서가 가면서 메세지는 출력이 안되더만요.
아예 if문 안으로 안들어가기라도 하면은 그런가보다 하겠는데.
한문장은 실행이 되고 하나는 안되니.
이게 어디서 문제인지 도저히 찾지 못하겠습니다.
고수님들.. copyfile문장을 쓰다가 저와 비슷한 경험을 하신 분은 답변 부탁합니다.