Visual Basic 6.0 응용 프로그램 업그레이드 준비
업데이트: 2007년 11월
Visual Basic 6.0 응용 프로그램을 Visual Basic 2008로 업그레이드하는 프로세스는 대부분 자동으로 진행되지만 약간의 준비로 업그레이드를 최적화할 수 있는 다양한 방법이 있습니다.
이 항목에서 제안하는 권장 사항을 따르면 프로젝트를 Visual Basic 2008로 업그레이드한 후에 필요한 변경 작업이 최소화되고 경우에 따라서는 변경이 전혀 필요 없습니다. 대부분의 권장 사항에서는 좀 더 나은 프로그래밍 방법을 알려 주지만 어떤 경우에는 상응하는 요소가 없는 개체와 메서드 및 프로젝트를 Visual Basic 2008로 업그레이드할 때 제한적으로 사용해야 할 개체와 메서드를 알려 주기도 합니다.
일반 권장 사항
프로젝트가 Visual Basic 6.0에서 컴파일되지 않고 실행되지도 않으면 업그레이드도 실패하게 됩니다. 업그레이드하는 데 사용할 시스템에 Visual Basic 6.0을 설치하는 것이 좋습니다. 이렇게 하면 업그레이드하는 동안 응용 프로그램을 테스트하는 것은 물론 필요한 모든 컨트롤, 구성 요소 및 형식 라이브러리를 사용할 수 있습니다.
Visual Basic 6.0 프로젝트를 Visual Basic 2008로 업그레이드할 수 있습니다. 버전 1에서 5까지의 Visual Basic으로 작성한 프로젝트는 Visual Basic 2008로 업그레이드하기 전에 Microsoft ActiveX 컨트롤 업그레이드를 선택하여 Visual Basic 6.0에 로드하고 컴파일한 다음 저장해야 합니다.
폼 및 컨트롤 고려 사항
Visual Basic 2008에는 Windows Forms이라는 새로운 폼 패키지가 있습니다. Windows Forms은 대개 Visual Basic 6.0에 포함된 폼 패키지와 호환되지만 아래와 같은 주요 차이점이 있습니다.
Visual Basic 2008에서는 OLE 컨테이너 컨트롤을 지원하지 않으므로 Visual Basic 6.0 응용 프로그램에서 이 컨트롤을 사용하지 않아야 합니다.
Visual Basic 2008에는 도형 컨트롤이 없습니다. 정사각형과 사각형 도형은 레이블로 업그레이드되고 타원과 원은 업그레이드되지 않습니다. 응용 프로그램에 이러한 컨트롤을 사용하면 안 됩니다.
Visual Basic 2008에는 선 컨트롤이 없습니다. 가로줄과 세로줄은 레이블로 업그레이드됩니다. 대각선은 업그레이드되지 않으므로 이러한 컨트롤을 사용하면 안 됩니다.
Visual Basic 2008에는 Form 메서드인 Circle, CLS, PSet, Line 및 Point를 대체하는 새로운 그래픽 명령 집합이 있습니다. 새 개체 모델은 Visual Basic 6.0과 매우 다르기 때문에 이러한 메서드는 업그레이드할 수 없습니다.
Timer 컨트롤의 경우 Interval 속성을 0으로 설정해도 타이머가 비활성화되지 않으며 간격이 1로 다시 설정됩니다. Visual Basic 6.0 프로젝트에서는Interval을 0으로 설정하는 대신 Enabled를 False로 설정해야 합니다.
Visual Basic 2008에는 두 개의 메뉴 컨트롤인 MenuStrip과 ContextMenuStrip이 있는 반면 Visual Basic 6.0에는 MainMenu 또는 ContextMenu 컨트롤로 열 수 있는 하나의 메뉴 컨트롤이 있습니다. 모든 메뉴 컨트롤은 각 메뉴 컨트롤에 대한 MenuItem를 포함하는 하나의 MenuStrip 구성 요소로 업그레이드됩니다. 컨텍스트 메뉴를 다시 만든 다음 남은 MenuStrip 컨트롤을 삭제해야 합니다.
Visual Basic 2008에서는 DDE(동적 데이터 교환)를 지원하지 않습니다.
Visual Basic 2008에서는 Form.PrintForm 메서드를 지원하지 않습니다.
Visual Basic 2008에서는 끌어서 놓기 기능을 지원하지만 개체 모델은 Visual Basic 6.0과 다릅니다. 따라서 Visual Basic 6.0의 끌어서 놓기 속성과 메서드는 업그레이드되지 않습니다.
Visual Basic 2008에는 Visual Basic 6.0 Clipboard 개체보다 많은 기능을 제공하고 더 많은 클립보드 형식을 지원하는 향상된 Clipboard 개체(My.Computer.Clipboard)가 있습니다. 그러나 개체 모델이 다르기 때문에 Clipboard 문은 자동으로 업그레이드되지 않습니다.
Visual Basic 2008에서는 런타임에 폼과 컨트롤에 대한 Name 속성을 지원하지 않습니다. 따라서 Controls 컬렉션을 반복하여 특정 이름의 컨트롤을 찾는 코드는 작성하지 않아야 합니다. 이 기능은 .NET FrameworkSystem.Reflection 클래스를 통해 사용할 수 있습니다.
데이터 권장 사항
Visual Basic 2008에는 ADO.NET이라는 향상된 버전의 ADO가 도입되었습니다. 이 버전은 분산 응용 프로그램에서의 데이터 작업에 맞게 최적화되어 있으며 분산 응용 프로그램에서 사용할 경우 ADO보다 나은 성능을 제공합니다.
RDO 및 ADO는 약간의 수정을 통해 여전히 Visual Basic 2008의 코드에 사용할 수 있습니다. 그러나 Visual Basic 2008에서는 컨트롤, 데이터 컨트롤 또는 RDO 사용자 연결에 대한 DAO 및 RDO 데이터 바인딩을 지원하지 않습니다. 응용 프로그램에서 DAO 또는 RDO 데이터 바인딩을 사용하는 경우에는 Visual Basic 6.0을 계속 사용하거나, ADO 데이터 바인딩이 Windows Forms에서 지원되므로 DAO 또는 RDO 데이터 바인딩을 ADO로 업그레이드한 다음 프로젝트를 Visual Basic 2008로 업그레이드하는 것이 좋습니다. Visual Basic 6.0에서 DAO 또는 RDO를 ADO로 업그레이드하는 방법은 Visual Basic 6.0 도움말을 참조하십시오.
웹 아키텍처 권장 사항
Visual Basic 2008에는 향상된 버전의 ASP인 ASP.NET이 도입되었고, Visual Basic과 유사한 이벤트 모델을 사용하여 웹 페이지를 생성하는 기술인 Web Forms이 아키텍처에 추가되었습니다. 이 아키텍처는 서버 기반입니다.
다음 조건에 맞는 웹 기반 응용 프로그램의 업그레이드가 가장 쉽습니다.
Microsoft 다계층 아키텍처 지침을 따릅니다.
Active Server Pages를 사용합니다.
비즈니스 논리에 Visual Basic 6.0 또는 Visual C++ 6.0 COM 개체를 사용합니다.
ASP는 Visual Basic 2008에서 완벽하게 지원되며 ASP, ASP.NET 및 Web Forms을 사용하여 응용 프로그램을 계속 확장할 수 있습니다. Visual Basic 6.0 및 Visual C++ 6.0 비즈니스 개체를 수정하지 않고 사용하거나 Visual Basic 2008로 업그레이드할 수 있습니다.
Visual Basic 2008에는 Webclass가 더 이상 존재하지 않습니다. 기존 Webclass 응용 프로그램은 Visual Basic 2008 Web Forms 및 ASP 응용 프로그램과 상호 운용될 수 있으며, Web Forms 응용 프로그램으로 업그레이드될 수 있습니다.