2010-11-27 3 views
1

몇 년 전에 VB3 또는 VB5 또는 6을 사용하는 고객을위한 시스템을 작성 했습니까? 기억할 수 없다. .. 그것은 정말로 이었다 오래 전에이었다.Windows 7에서 VB3 프로그램을 작동시키는 방법은 무엇입니까?

어쨌든이 프로그램은 Windows 95에서 XP 로의 사무실 전체 업그레이드를 포함하여 지난 몇 년 동안 즐겁게 사용되어 왔지만 이제 사무실 컴퓨터를 Windows 7로 업그레이드하려고합니다. 먼저 프로그램을 다시 설치하면 작동하지 않습니다.

Windows 7에서이 레거시 소프트웨어를 작동시키는 데 필요한 빠른 해결책이 있습니까? 아니면 정말로 사용할 수 있으려면 전체 프로그램을 다시 작성해야합니까?

+1

"작동하지 않음"이 정의 된 방법에 따라 다릅니다. 아마 그것이 상승 된 경우에 작동 할 것입니다. 아마도 외부 매니페스트가 있거나 다른 프로그램 파일에 설치되었을 수 있습니다. 어쩌면 Windows 버전이 정확히 XP인지, 아니면 하나의 하드 코드 파일 경로에 의존하는지 등의 멍청한 체크가있을 수 있습니다 ... 답변을 얻으려면 더 많은 정보가 필요합니다. 오류 메시지는 1 단계입니다. –

답변

4

여기에 언급 한대로 Visual Basic 3.0이면 기본적으로 Windows 7에서 실행되지 않을 수 있습니다. 응용 프로그램을 실행하려면 Windows 7 Virtual XP Mode을 사용해야합니다. 반면에 VB 6.0은 Windows 7에서 실행되어야하며, 지원 문 here을 참조하십시오.

2

비교적 문제가 적은 Windows 7, 8, 8.1 및 10에서 VB3 프로그램을 변경하지 않고 실행할 수 있습니다. 나는 일반적으로 XP-SP3 호환 모드에서 실행합니다. 이 방법으로 실행되는 꽤 오래된 VB3 프로그램이 있습니다. VB3 프로그램은 16 비트이지만 32 비트 버전의 Windows Vista/7/8/10에서만 실행되므로 64 비트 창이있는 경우 XP 모드를 사용하지 않으면 실행할 수 없습니다 (Windows 7에서만 사용 가능) 또는 VMWare Player 또는 VirtualBox 또는 유사 제품을 사용하여 가상 Windows XP를 설치하십시오. 필자는 XP, Win-7-32, Win-7-64, Win-8-32, Win-8-64 및 Win-7-64로 설정된 VMWare Workstation이있는 자체 Win-10 64 비트 PC에서이 작업을 수행했습니다. 필요한 경우 실행되는 10-32 개의 가상 시스템

Vb3 프로그램을 VB4 (32 비트), VB5 또는 VB6로 변환하는 경우 - 예, 새 IDE에서 열어서 다시 컴파일하면 OK 일 것입니다.

제외

하면 다음과 유사한 컨트롤 마이크로 소프트 표준 컨트롤로 이미 존재할 수 있지만 이러한 컨트롤의 32 비트 버전을 얻을 수있을 것이다 당신의 VB3 프로그램에 어떤 제 3 자 VBX 또는 DLL 파일을 사용한 경우.

SQL 쿼리를 처리하고 결과를 반환하기 위해 데이터 컨트롤에 바인딩 된 그리드로 Apex TrueGrid를 사용했습니다. TrueDBGrid로 업그레이드해야했습니다. 그러나 이제는 표준 VB6 Microsoft MSFlexGrid에 이전 TrueGrid 컨트롤에서 사용한 모든 기능이 포함되어 있으므로 이제는 TrueDBGrids를 MSFlexGrids로 대체했습니다. 프로퍼티와 메소드가 다르고 코드를 다시 작성해야했지만 대부분이 모든 그리드에 사용되는 표준 서브 루틴에 있었기 때문에 모든 그리드에 대해 한 번만 변경해야했습니다.

가장 큰 번거 로움은 컨트롤을 VB3에서 VB4/5/6로 업그레이드 할 때 새로운 컨트롤이 동일한 속성을 갖지만 이름과 매개 변수가 다르거 나 일부 기능이없는 것입니다. 해결 방법을 찾는다. 또는 새로운 컨트롤을 지원하기 위해 코드 변경이 많은 다른 컨트롤을 사용해야 할 수도 있습니다.

코드가 1,000,000 개가 넘는 여러 개의 VB3 프로그램이 공동으로 실행되기 때문에 자원과 메모리가 부족해지기 때문에 실행해야합니다. 프로그램을 컴파일하지 않으면 더 이상 기능을 추가 할 수 없습니다. 또는 실행되지 않습니다.

나는 이것을 VB3에서 VB6으로 변환하려고 시도했지만, 많은 오류가 발생하여 처음부터 많은 것을 다시 작성했다. 나는 여러 해에 걸쳐 이러한 변환을 시도했지만 적어도 "일종의"변환을 한 후에는이를 실행해야하고 그런 일이 발생하면 컴파일을 시도해야합니다.VB6 소스 코드를 읽고 실제로 자동으로 많은 변화를 줄 수있는 VB6 프로그램을 작성했습니다. 이 작업을 수행 할 수없는 영역 중 하나는 * .FRX 파일에 보관 된 컨트롤 사용자 지정 데이터의 경우 이진 및 문서화되지 않은 데이터입니다. 이것은 캠이 풀리는 곳입니다 ... 로드 프로그램, 실행, 오류 발생, 해당 오류 수정, 저장, 실행, 오류 수신, 오류 수정, 저장, 실행, 오류 수정, 그 중 하나 수정 오류, 저장, 실행, 오류 가져 오기, 하나의 오류 수정, 저장, 실행 등 한 번에 하나의 오류 만 표시되고 변환 된 코드에는 수천 개의 컴파일러 오류가있었습니다. 나는 보통 이러한 오류를 하나씩 없애려고 하루를 보내고 나서 포기했다. 나는 완성에서 단 하나의 오류까지도 가지고 있을지도 모른다. 그러나 당신은 말할 수 없다. - 당신이 실제로 끝났을 때만 알 수있다.

관련 문제