< Unknown Error! [EVariantInvalidOpError][EVariantInvalidOpError]Invalid variant operation >
< Project aaa.exe raised exception class EVariantInvalidOpError with message 'Invalid variant operation'. >
< Project aaa.exe raised exception class EOleSysError with message '작업을 사용할 수 없습니다'. >
우리 회사에서 만든 왕 짱짱 소스를 가져다가 사용한 것밖에 없는데 이런 오류가 발생했다. 프로그램은 템플릿 폴더에 있는 Word파일로 fWordClient 객체를 생성 하는 건데, 도대체? 왜? 쓸데없이 이런 오류가 나는 거지? Create에서 나더라니까? 오류가? 진짜 어이가 없어서 증말
그래서 어제 한 시간 동안 열심히 씨름했다. 어디에서는 레지스트리 등록이 필요하고, 어디서는 MicroOffice를 재설치하라고 하고...Hㅏ...진짜 너무 화가나는 하루를 보냈달까. 그렇다고 Office 재설치를 할 수는 없잖아...
아, 근데 만약 "개체 라이브러리 (|) 중 하나 Word 또는 Excel 파일을 열 때 누락 되었거나 손상 된"오류 가 발생한다면 Office를 복구하면 해결된다. 이 오류도 진짜 어이없어서 증말... 한 시간 넘게 구글링해도 안 나오더니 선배님한테 물어보니까 2분만에 찾아서 알려주셨다. 살 수가 없어...
무튼 그래서 열심히 구글링을 하고 별 짓을 다 하던 와중에 퇴근시간이 되었고, 동기분에게 이런 소스때문에 하나도 진도를 못 나갔다고 말하니까 알려준 방법은..............................후후후.... 바로 템플릿이 없어서 그런 것이었다. Hㅏ....진짜 살 수가 없다.
1 2 | if fWordClient = Nil then fWordClient := TWordClient.Create(aErrMsg, EXE_CURR_PATH + TEMPLETE_DIR + FILE_NAME_CONST); | cs |
위는 실제로 사용했던 코드인데, TWordClient의 Create를 할 때 매개변수로 aErrMsg와 파일경로+파일명을 넘겨주고 있다. 이 때 파일경로에 해당하는 파일이 없었고! (예를 들면 C:\~\myFolder\aaa.doc 가 myFolder 안에 없었던 상황) 그래서 오류가 난 것이었다.
아니 템플릿이 없으면 템플릿이 없다는 오류메시지를 보여줘야지 델파이야...ㅠㅡㅠ 정말 너무 어이가 없어서 이런 실수를 아무도 하지 않길 바라며 남겨놓는다.
괜히 오피스 재설치를 하고,,, 델파이 재설치를 하는 일이 없길 바라며,,,,