어쨌든 설치된 컴포넌트의 객체를 생성해서 사용하게 됩니다.
Set Upload = Server.CreateObject("TABSUpload4.Upload")
위처럼 사용하며 어느 컴포넌트나 거의 동일한 듯 합니다. 문자열에는 각 컴포넌트에 맞는 이름이 들어갑니다.
원래는 저렇게 하면 되야 되는데 컴포넌트가 정상적으로 설치되었음에도 불구하고 아래와 같은 오류메시지가 나타났습니다.
서버 개체, ASP 0177 (0x800401F3)
잘못된 클래스 문자열입니다.
/commons/upload.asp, line 6
6번라인이 컴포넌트의 객체를 생성하는 코드가 있는 라인입니다.
처음에는 컴포넌트가 잘못 설치된 것으로 생각했는데 여러가지 컴포넌트를 설치해 보아도 동일한 문제가 계속되었습니다. 원래 저 오류는 Server.CreateObject에 문자열을 잘못주었을때만 나타나야 하는데 정확히 잘 주었음에도 위와같은 오류가 나타났습니다.
여러가지를 찾아보다가 도움이 될만한 글을 찾았습니다. Registry에 등록이 안되어 있을때 저 오류메시지가 나오는데 권한이 없을 때도 같은 현상이 나타난다는 내용입니다.
[실행]에서 "regedit"로 레지스트리 편집기에 들어가서 [HKEY_CLASSES_ROOT]에서 해당 컴포넌트의 이름(ProgID)을 찾습니다. TABS Upload의 경우에는 TABSUpload4.Upload라는 이름으로 등록이 되어 있습니다. 해당 ProgID의 사용권한에 "Everyone"을 추가하고 모든 권한을 줍니다.
위와같이 추가하면 정상적으로 업로드 컴포넌트를 사용할 수 있습니다.
잘못된클래스문자열