2008-09-25 2 views

답변

3

D2007에서 D2009로 제공된 문자열 처리 기능을 갖춘 유니 코드 상황을 타고 갈 것입니다.이 단계에서 변경된 사항은 응용 프로그램에 많은 영향을 미칠 수 있습니다 (이 사실 만 알 수 있습니다). 또한 사용중인 타사 도구/라이브러리/구성 요소를 고려해야합니다. 모든 것이 D2009로 옮겨가는 것은 아니며, 덜 인기있는 구성 요소가 전혀 뛰어 내지 못할 수도 있습니다.

더 똑똑한 경로가 일 수 있습니다. D7을 D2007으로 마이그레이션 할 수 있습니다.이 경로는 잘되고 많은 가치가있는 개선으로 인해 상당히 고통 스럽습니다. 그렇다면 현대적이고 안정적이며 꽤 최신의 지원되는 Delphi 플랫폼을 사용하여 .Net으로 점프하는 것을 더 잘 평가할 수 있습니다.

이 마지막 단계에 대한 내 자신의 견해는 당신이 델타이에서 떠나는 이유를 알 수는 없다. 다양한 런타임 및 서비스 팩의 현대적인 요구 사항으로, 델파이는 Win32에서 개발을위한 점점가능한관련 도구가되고있다 생각합니다. 코드를 D7에서 D2007/D2009로 변경하거나 D7에서 .Net으로 바로 이동하십시오. 하나를 할 다음 다른 하나는 조금 이상한 것 같습니다!

+0

고맙습니다. 매우 도움이되는 대답. – ChaosSpeeder

2

델파이 7에서 델파이 2009로 마이그레이션하는 것은 간단 합니다만, 최근에 논의 된 ANSI에서 유니 코드 문자열로의 변경과 같은 사소한 변경 만있었습니다. .NET으로 이전하는 것은 그리 간단하지 않습니다. 마이그레이션 GUI를 가능하게하는 VCL.NET이 있지만 심각한 다른 것들은 작동하지 않습니다. 따라서 COM을 통해 Win32 코드와 .NET 코드를 함께 가져 오는 것이 좋습니다. (나는 COM을 이미 알고 있기를 바란다. 그렇지 않으면 아마도 이것은 옵션이 아니다 ;-))

3

D2009는 .net이 아닌 win32 버전이다. 나는 당신이 두 단계 경로를 만들고 싶다고 가정합니다. 먼저 D2009로 이동 한 다음 .net으로 이동하십시오.

다행히 델파이는 매우 안정적인 플랫폼이며 이전 응용 프로그램을 최신 버전으로 변환하는 것이 훨씬 쉽지만 고려해야 할 다른 점이 있습니다.

응용 프로그램에서 BDE를 사용하여 Db에 액세스 한 경우 ADO 또는 DBX와 같은 다른 기술을 사용하도록 변환합니다. 당신이 제 3 자 구성 요소를 사용하는 경우

, D2009 및/또는 매우 민감한 측면이 .NET

문자열 처리를위한 버전이 존재해야합니다. 문자열을 "일반적으로"사용하는 경우 큰 문제는 없지만 C에서와 같이 문자열을 "바이트 버퍼"로 사용하면주의해야하고 해당 부분을 다시 작성해야합니다. 경험 법칙은 "코드에서 모든 PChar를 제거하려고합니다"입니다.

+0

두 단계로 변환해야합니다. 첫 번째 단계는 Delphi 7.0에서 최신 IDE 및 Delphi Framework의 실제 버전으로 변환하는 것입니다. 다음 단계는 .net에 대한 포트가 될 것입니다. . NET은 우리 회사의 전략적 플랫폼입니다. 아마도 2007 RAD 또는 Delphi 2009 사이의 선택입니다. – ChaosSpeeder

1

이식은 결코 쉬운 일이 아닙니다. 그러나 Delphi와 .NET 사이의 의미는 매우 비슷합니다. 둘 다 Anders Hejlsberg를 수석 건축가로 생각했기 때문입니다. Win32 VCL 호출을 해당 VCL.NET 항목으로 대체해야 할 가능성이 큽니다.

CodeGear RAD Studio로 업그레이드하면 Delphi 및 .NET 언어 (주로 C#) 용으로 하나의 IDE를 사용할 수 있습니다.

많은 테크놀로지에서 다른 기술로 이동할 때 컨트롤 대체가 어려워졌습니다. 예를 들어, 코드를 변경하지 않고도 BDE 데이터베이스 컨트롤을 ADO.NET으로 대체 할 수있었습니다. 궁극적으로, 당신은 코드를 소유하고 있으며 우리 중 누구보다도 잘 알고 있습니다.

Win32 실행 파일을 아주 잘 지원할 때 .NET Framework를 대상으로하는 이유는 무엇입니까? Delphi는 이미 업계의 작은 부분이며 .NET을 사용하는 Delphi도 훨씬 작습니다. Delphi는 .NET 세계에서 항상 제 2의 시민이 될 것입니다. Delphi는 이미 Win32 1 등 클래스의 시민입니다.

+0

다른 제품 (C++ 및 VB6)을 .net 플랫폼으로 이동 했으므로 .net으로 포팅하고 싶습니다. 그러나 이것은 다음 단계에서 발생해야합니다. – ChaosSpeeder

2

Delphi 2009 대상 Win32 전용. .NET의 경우 Delphi 특성을 .NET에 제공하는 RAD Studio 2007을 사용할 수 있으며 간단한 VCL 응용 프로그램을 .NET 2.0 프레임 워크를 대상으로하는 VCL.NET으로 이식하는 것이 매우 쉽습니다. 그러나 타사 구성 요소 및 라이브러리를 사용하는 경우 .NET 대안도 확인해야합니다.

이 작업이 너무 많거나 최신 .NET Framework를 대상으로하려면 Microsoft의 Visual Studio 및 C#을 사용하여 프로젝트를 처음부터 다시 작성하는 것이 좋습니다.

면책 조항 : Delphi Win32 프로젝트를 .NET으로 이식하는 데 경험이 없으므로 겸허 한 의견입니다.

1

위의 Giacomo의 대답에 이어 BDE를 사용하는 경우 MicroOlap의 DAC http://www.microolap.com/을 제안 할 수 있습니다. 이렇게하면 코드를 다른 것으로 변환 할 필요가 없으므로 많은 시간을 절약 할 수 있습니다. PostgresDAC를 사용하고 있습니다.이 제품은 매우 안정적이며 빠릅니다.

+0

감사합니다. MySQL을 사용하지 않았습니다. informix, oracle 및 SQL-Server를 지원해야합니다. – ChaosSpeeder

관련 문제