안녕하세요? 이번 티스트링에서는 Visual Basic 6.0에서 닷넷(.Net) 클래스 라이브러리(DLL) 참조하여 사용하기 입니다. 아직도 Visual Basic 6.0으로 개발된 시스템이 있어서 유지 보수를 하는 곳이 많습니다. 그만큼 인기가 많았습니다.

 

 최근의 Visual Studio 2013와 비교를 하면 격세지감이 느껴집니다(저는 Microsoft Visual Studio 6.0, Visual Studio 2013 등을 사용하고 있는데 번갈아 사용을 하면 적응하기 힘들기도 합니다 ㅠㅠ). Visual Studio 6.0은 1998년 6월에 출시되었는데 아직도 이용을 하고 있다니 대단하다는 생각이 듭니다.

 

 우선 Microsoft Visual Studio 6.0가 설치되어 있어야 합니다. 국내 포털사이트나 구글에서 찾아 보시면 구하실 수 있습니다. Microsoft Visual Basic 6.0을 바로 구동하여 사용 가능한 포터블도 있습니다(링크라도 걸어 주시면 좋으련만? 게을러서 그렇습니다 ㅠㅠ).

 

 윈도우7 32Bit에서 설치가 가능하였습니다. 64Bit 운영체제에서는 구동이 어려울수도 있습니다. 윈도우8, 윈도우8.1은 포기를 하셔야 될듯 합니다.

 

 다음으로 닷넷(.Net) 라이브러리 개발을 위해서 .Net Framework 2.0 이상이 설치 되어 있으시면 됩니다. 윈도우 업데이트를 가장 최신으로 하셨으면 대부분 설치가 되어 있을겁니다. 메모장에서 코딩하고 빌드 하셔도 되지만 불편합니다. Visual Studio 2005 이상을 설치가 되어 있으시면 됩니다.

 

개발 환경

Visual Studio 6.0

Visual Studio 2005 버전 이상

.Net Framework 2.0 버전 이상

 

 

저는 Visual Studio 2008으로 진행을 하겠습니다. 개발 순서는 아래와 같습니다.

 

개발 순서

1-1. Visual Studio 2008에서 클래스라이브러리 프로젝트 생성

1-2. 닷넷(.Net) 라이브러리(DLL) 개발

1-3. 프로젝트 속성 변경 및 빌드

2-1. Visual Studio 6.0에서 프로젝트 생성

2-2. 닷넷(.Net) 라이브러리(DLL) 참조 추가

2-3. 닷넷(.Net) 라이브러리(DLL) 코드 작성 및 실행

 

 

 개발을 진행하기 전에 주의해야 할 부분이 있습니다. Visual Studio 6.0에서 사용가능한 기본 데이터 타입을 이용해야 된다는 겁니다. 닷넷(.Net) 라이브러리(DLL)에서 사용되는 DataSet, DataTable 같은 객체타입은 사용 할 수가 없습니다.

 

 직접 개발한 닷넷(.Net) 라이브러리(DLL) 안에서 처리되는 로직에서는 문제가 없지만 Visual Studio 6.0에서는 직접적으로 사용할 수 없습니다.

 

1-1. Visual Studio 2008에서 클래스라이브러리 프로젝트 생성

 우선 Visual Studio 2008를 실행 합니다. 파일(F) -> 새 프로젝트(P)를 실행합니다. 프로젝트 형식(P)에서 Windows를 선택하고 템플릿(T)클래스라이브러리 선택합니다. 이름(N)을 입력해 주시면 됩니다. 저는 MyLibrary로 하였습니다.

 

 

 

1-2. 닷넷(.Net) 라이브러리(DLL) 개발

 Class1.vbWebDownLoad.vb로 변경하였습니다. 그리고 소스 코딩을 아래와 같이 하였습니다. 외부에서 사용할 수 있도록 Public 접근자로 지정했습니다. Visual Studio 6.0에서 닷넷(.Net) 클래스 라이브러리를 참조 할 수 있는지 여부만 확인을 하면 되기 때문에 간단하게 작성하시기 바랍니다.

 

 

 

1-3. 프로젝트 속성 변경 및 빌드

 솔루션 탑색기에서 프로젝트에 마우스로 오른쪽 클릭을 하고 속성(R)으로 들어갑니다. 응용 프로그램 텝에서 어셈블리 정보(Y)로 들어갑니다

 

 

 

 어셈블리 정보 창에서 아래쪽에 어셈블리를 COM에 노출(M)을 선택합니다(Visual Studio 6.0에서 참조로 사용하기 위해서 선택해야합니다). 어셈블리를 COM에 노출은 어셈블리 내의 형식을 COM에서 사용할 수 있는지 여부를 지정합니다.

 

 

 

 컴파일 텝에서 아래쪽에 COM Interop 등록(I)를 선택합니다(Visual Studio 6.0에서 참조로 사용하기 위해서 선택해야합니다).

 

 COM Interop 등록은 COM 개체가 응용 프로그램과 상호 작용할 수 있도록, 관리되는 응용 프로그램에서 COM 개체(COM 호출 가능 래퍼)를 노출하도록 할 것인지를 지정합니다.

 

 

 

 상단 메뉴에서 빌드(B) -> MyLibrary 빌드(U)를 실행하여 빌드합니다. 빌드를 하고 나면 릴리스(Release) 폴더MyLibrary.dll, MyLibrary.tlb 파일이 생성됩니다. Visual Studio 6.0에서 MyLibrary.tlb를 참조하여 라이브러리를 사용할 수 있게 되었습니다.

 

 

 

 

 

2-1. Visual Studio 6.0에서 프로젝트 생성

 다음으로 Visual Studio 6.0를 실행합니다. 메뉴에서 파일(F) -> 새 프로젝트(N)를 선택하여 새 프로젝트 창을 실행합니다. 표준 EXE를 선택하고 확인을 클릭합니다.

 

 

 

 아래 사진과 같이 Form1을 디자인 하였습니다. 상단에 URL입력을 위한 Text컨트롤, 호출을 위한 Command버튼, 결과를 표시할 Text컨트롤을 배치하였습니다. 그외에 프로젝트명, 폼명, 컨트롤 속성등을 수정 하였습니다.

 

 

 

2-2. 닷넷(.Net) 라이브러리(DLL) 참조 추가

 메뉴에서 프로젝트(P) -> 참조(N)을 선택하여 참조 창을 실행합니다. 찾아보기(B) 버튼을 클릭하여 생성한 MyLibrary.tlb를 선택하여 열기(O)를 클릭합니다.

 

 

 

 

 MyLibrary가 참조 되었습니다. 확인 버튼을 눌러서 참조를 완료합니다.

 

 

 

 2-3. 닷넷(.Net) 라이브러리(DLL) 코드 작성 및 실행

 디자인 화면에서 실행 버튼을 더블클릭하여 클릭 이벤트를 생성합니다. 아래 그림과 같이 코딩을 하여 참조된 MyLibrary 라이브러리를 사용할 수 있습니다. 주의 해야 될 점은 참조한 라이브러리는 선언과 동시에 New로 객체를 생성해야 됩니다.

 Tmp에 할당하는 부분에서 오류 발생을 할 수도 있는데 Set 키워드를 앞에 추가해 주시면 됩니다(특별히 문제가 없으면 아래 그림과 같이 코딩을 하시면됩니다).

 

 

 

 F5 또는 툴바에 ▶를 클릭하여 실행을 합니다. 상단에 URL을 입력하고 실행버튼을 누르면 웹페이지 결과가 화면에 출력이 됩니다.

 

 

 아직까지 Visual Studio 6.0을 사용하는 시스템에서 닷넷(.Net) 라이브러리를 사용할 수 있다는 것은 매우 유용합니다. Visual Studio 6.0에서 .Net Framework 라이브러리를 사용할 수 있다는 것은 날개를 달아 줄 수 있게 된겁니다.

 

  Visual Studio 6.0에서 구현이 어려웠던 부분들을 닷넷(.Net) 라이브러리(DLL)로 구현하여 참조해서 사용을 하실 수 있게 됩겁니다.

 

※ Visual Studio 6.0에서 사용가능한 기본 데이터 타입만을 결과로 이용할 수 있다는 것만 주의 하시면 될것 같습니다.

 

--- 소스 파일 ---

 

MyLibrary.zip

 

 

※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.