2011-11-04 4 views
1

이전 Borland C++ (v6) 프로젝트를 가져 와서 Delphi (v7 또는 XE로 변환 할 수있는 방법이 있습니까?C++ 프로젝트를 Delphi로 변환 할 수 있습니까?

BCB는 파스칼을 컴파일 할 수 있지만 그 반대의 방법은 컴파일 할 수 없다는 것을 기억합니다. 어쨌든, 나는 C++을 모르는 사람에게 프로젝트를 넘기고 싶지만 델파이를 확장하기 위해서는 그것을 알고 있습니다.

이전 C++ 코드를 유지하고 싶지 않습니다. 필자 만 수동으로해야 할 모든 것을 델파이로 변환하십시오.

+1

C++ 소스를 동등한 Delphi 소스로 음역으로 변환 하시겠습니까? bpr 프로젝트 파일을 가져 오는 것을 관리하더라도 구문에 따라 서로 호환되지는 않습니다. 프로젝트 크기에 따라, 디버깅을 언급하지 않고 많은 새로운 버그가 프로세스에 도입되지 않았 음을 알 수 있습니다. – greatwolf

+0

왜 오래된 C++ 코드를 유지하고 싶지 않습니까? 변환기 도구가 없습니다. –

+0

코드를 인수 한 사람이 델파이를 알고 있었기 때문에 C++가 아닙니다. 그리고 지금 나는 같은 상황에서 자신을 발견한다. – Mawg

답변

5

자동 변환 ... 당신이 나에게 약간의 시간을 절약 할 수 있기를 바랍니다? 아니. 네가 스스로 모든 일을해야한다는 것을 두려워하지만 어쨌든 그런 일을 할 용의가 있다면 나는 은총이 없다는 것을 당신이 확인할 수 있고 모든 것을 수동으로해야 할 것이다. 당신이 주변에 약간의 C++ 코드를 유지하고자한다면이 시점에서

는, 나는 이렇게 권하고 싶습니다 :

    UI를 C++ 빌더 C++에 내장 할 수

  1. 및 모델 (로직 코드)는 C++을 유지할 수 있으며 C++ Builder로 빌드 될 수도 있습니다.

  2. 델파이에서 UI를 다시 작성하려는 경우 C++ 부분 (DLL 또는 BPL 라이브러리로 컴파일 됨)을로드하고 런타임에 호출하기가 어렵지 않습니다. 업로드하고 델파이 응용 프로그램에서 C++ 코드를 호출하는 것을

참고 열심히하지 않고, C++ Builder는 정말 당신의 응용 프로그램을 작성하는 단순한 방법이기 때문에 C++ Builder와 Delphi는 같은 일을 두 가지 맛, 기본적 있음 C++에서 델파이/파스칼 UI 프레임 워크 (VCL)를 사용하고 있습니다.

C++ Builder (RAD Studio의 일부) 또는 Delphi + C++ 하이브리드를 고려해보십시오. 사소한 응용 프로그램을 완전히 다시 작성하는 데는 시간이 오래 걸립니다. 하지만 네, 충분한 시간을 주면 다른 무엇으로도 다시 쓸 수 있습니다. 하지만 정말로하고 싶니?

궁극적 인 목표는 100 % 순수한 델파이이지만 부분적으로 변환을 먼저 수행하고 나중에 변환을 마친 후에 원한다면 단계적으로 완료 할 수 있습니다. 일부 C++ 파트를 링크하거나, DLL에서로드하거나, .obj 파일을 정적으로 델파이 앱에 링크 할 수도 있습니다.

C++에 대해 죽은 것 같습니다. 나는 오랫동안 C++의 애호가입니다. 그것이 당신의 거래라면, 이해합니다.

그러나 여기 서두르지 마십시오. IMHO, MFC/ATL이 쓰레기지만 오래된 Borland C++ OWL 라이브러리 코드베이스를 MFC/ATL을 사용하는 현대 Visual C++ 코드베이스로 변환하는 것은 그리 어렵지 않을 수도 있습니다. 또한 QT/C++ 또는 wxWidgets/C++로 포팅해야한다면 (크로스 플랫폼으로 갈 수 있고 Mac에서 실행되는 버전을 얻을 수도 있고 Linux에서 그렇게 할 수도 있습니다)! C++에 머무르는 동안 UI에 대한 옵션이 너무 많아서 완전히 다른 언어 (Pascal 또는 Python 또는 C# 또는 Java로 직접 모든 것을 수동으로 다시 작성하는 것보다 훨씬 쉽습니다. 처음부터 모든 것을 써야하는 한!). 나는 파스칼을 좋아해. 나는 약 100 번 C++보다 더 좋아한다. 델파이의 부탁을 너무 많이 치우 쳤습니다. 그러나 완전한 재 작성은 거의 실용적이지 않으며 AUTO-CONVERSIONS도 파이프 꿈입니다. 현대 C++은 실제로 꽤 좋은 언어입니다. 왜 코드베이스를 다시 작성합니까?

+0

+1 글로벌 편집은 길다란 하드 슬로건이다. 나는 C/C++ 파스칼 변환기 중 하나를 사용하는 것을 고려했지만 아마도 전역 편집 및 손질 연마로 더 나을 것이다. 고마워, 워렌 – Mawg

1

우리는 같은 상황에서 우리 자신을 발견했습니다. 기존의 C++ Builder 응용 프로그램이 많았으니 수작업으로 변환하는 데 수년이 걸렸을 것입니다.

그래서 나는 변환에 많은 도움이되는 작은 펄 스크립트를 작성했습니다. 100 %가 아니라 불가능할 것입니다.하지만 대부분의 전환을 처리합니다. 원하는대로 자유롭게 다운로드하여 사용할 수 있습니다. 살펴보기 : http://copycat.fr/wordpress/porting-old-cbuilder-software-to-new-versions/

관련 문제