2009-11-30 2 views
2

Delphi 2009 IDE에서 Delphi 5 버전의 dcc32를 참조하여 작업 할 수 있습니까?Delphi 2009의 delphi 5 코드 컴파일

프로젝트 설정 (검색 경로, 조건부 정의 등)이 2009 년에 구현되는 방식에 대해주의해야 할 사항이 있습니까?

편집 : 그냥 나는 또한 유니 코드로 프로젝트를 업그레이드하고 명확하게 그러나 아직도 여전히 델파이이다, 디버깅해야하고 이전 구성했다

답변

6

당신이 이루고자하는 목표와 받아 들일 수있는 한계에 달려 있습니다.

아는 한, Delphi 2009 IDE를 사용하여 Delphi 5 프로젝트를 직접 관리 할 수 ​​없습니다. 예를 들어 둘 사이에 공통적 인 기능을 고수해도 Delphi 5에서 지원되지 않는 일부 속성이 DFM에 기록되어 런타임에 오류가 발생합니다.

필자는 Delphi 2005/2006/2007로 작성되었으며 Delphi 6/7에서도 사용되고있는 프로젝트 및 라이브러리 코드를 유지 관리했습니다. 나는 보통 최신 IDE를 사용하여 이들을 편집하고 디버깅했다. 각 대상 버전에 대해 별도의 프로젝트 파일을 가지고 있으며 모두 동일한 memory manager을 사용했는지 확인했습니다. 마지막으로 DFM (자체 DFM Scrubber)에서 호환되지 않는 속성을 제거하는 자동화 된 빌드 프로세스 및 유닛 테스트를 수행하여 모든 대상이 항상 컴파일되고 각 대상에 대해 다시 컴파일되는 유닛 테스트를 실행하는지 확인합니다.

모든 노력이 필요하므로 특별히 요구하지 않는 한 권장하지 않습니다.

1

번호를 릴리스를 실행하고 소스를 가정 또는 D2009 버전의 모든 사용자 정의 컴포넌트는 Delphi 2009에서 컴파일하도록 수정 될 수 있습니다. D5 이후 VCL의 레이아웃이 상당히 변경되었으므로 uses 절을 수정해야하며 여기저기서 작은 덩어리를 재 작성해야하지만 할 수있다.

1

코드를 Delphi 2009/2010 수준 (유니 코드)으로 이식하거나 제품을 설치하지 않을 수도 있습니다.

프로젝트를 열어 어디서 실패했는지 확인하고, 프로젝트를 닫지 않고 (아무 것도 저장하지 않고), 필요한 구성 요소 버전을 찾아서 설치 한 다음 프로젝트가 디자인 모드로 열리면 (모든 구성 요소가 설치됨) 포팅을 시작할 수 있습니다.

웹 사이트에서 사용할 수있는 유니 코드 Delphi 마이그레이션 (포팅) 정보를 읽으십시오.

PChar 및 Char가 PAnsiChar 또는 AnsiChar 일 필요가있을 때마다 스스로에게 물어보십시오. 디스크, com 포트 또는 네트워크 연결에서 바이트를 읽는 경우 Char에서 AnsiChar로, PChar에서 PAnsiChar로 변경해야합니다. 그렇지 않으면 Char 및 PChar를 그대로두면됩니다. 유니 코드. Char가 Byte가 아니라는 것을 항상 알고 있어야합니다.

좁은 Win32 API 호출에 대한 명시 적 참조를 A (ansi) 접미사가없는 버전으로 바꾸어야합니다. 예 : CreateFileA는 CreateFile 일 필요가 있습니다.

w