[delphi] Delphi 언어 기능 및 해당 기능이 도입 / 사용되지 않는 버전 목록

시작하기 전에 Google을 통해 정직하고 진심으로 반복해서 철저히 검색해 왔지만 찾지 못했다는 점을 지적하고 싶습니다.

(개발중인 프로젝트의 경우) 모든 Delphi 목록 (2007 년부터 최신 릴리스 버전까지, 2007 년 이전 버전은 더 이상 지원하지 않음) “언어 기능”과 해당 기능이 도입 된 버전 및 ( 해당되는 경우) 지원 중단, 개선 또는 제거되었습니다.

이전에 Stack Overflow에서 이와 유사한 질문을 언급했지만, 대부분은 “어떤 기능이 가장 좋은지”라는 형식으로 표현되었고 부적합하다고 간주되어 종료되었습니다.

누군가가 그러한 목록을 알고 있다면 (또는 하나를 컴파일하기에 충분한 시간이 있다면) 매우 감사 할 것입니다.

수락 된 답변에는 해당 목록에 대한 링크 또는 목록 자체가 포함됩니다.



답변

이 답변 은 새로운 VCL / FMX 기능이
아닌 새로운 언어 기능 만 나열 합니다.

다음은 RAD Studio docwiki에 대한 링크입니다.

Embarcadero의 전체 목록 : 새로운 기능
참조 : David I의 목록


요약:

Delphi 10.3.x, 10.4 (아직 출시 되지 않음, 추측 성임)

델파이 10.3

  • 64 비트 Linux 컴파일러는 더 이상 ARC 를 사용하지 않고 대신 Windows 컴파일러와 동일한 기본 수동 관리 방식을 사용합니다. 따라서 Windows 또는 OSX에서 Linux로 코드를 훨씬 쉽게 이식 할 수 있습니다.
  • 자동 유형 추론을 사용하는 인라인 변수
  • Linux에서 활성화 된 8 비트 AnsiChar / AnsiString 지원.
  • C ++ Builder와 Delphi는 이제 모든 호출에 동일한 ABI를 사용합니다.

델파이 10.2 도쿄

델파이 10.1 베를린

델파이 10 시애틀

  • Android 5.1.1 및 iOS 8.4 지원
  • 향상된 OSX 예외 처리

델파이 XE8

  • 64 비트 iOS 지원;
  • 새로운 정수 유형 : FixedInt , FixedUInt 모든 플랫폼에서 32 비트 정수 유형;
  • 새로운 플랫폼 종속 정수 유형 : LongInt , LongWord (iOS-64에서는 64 비트, 기타 모든 플랫폼에서는 32 비트);

델파이 XE7

델파이 XE6

델파이 XE5

델파이 XE4

XE4에서는 $ ENDIF가 $ IF, $ IFDEF, $ IFNDEF 및 $ IFOPT에 대해 승인 된 종료자가되도록 변경되었습니다.

델파이 XE3

델파이 XE2

델파이 XE

  • {$STRINGCHECKS}컴파일러 지시어는 XE에서 무시됩니다;
  • {$ALIGN}지시문의 새 16 바이트 값 : 지시문에 허용되는 값은 {$ALIGN}이제 1, 2, 4, 8 및 16을 포함합니다.
  • new {$CODEALIGN}지시문은 프로 시저 또는 함수의 시작 주소를 설정합니다.
  • {$STRONGLINKTYPES ON}지침
  • 정규식 지원.

델파이 2010

  • 향상된 Delphi RTTI (런타임 유형 정보).
  • 속성
  • as작업자는 추출 된 객체에 대한 인터페이스 참조 위로 캐스팅하는데 사용될 수있다.
  • is오퍼레이터 인터페이스 참조가 특정 클래스로부터 추출되었는지 여부를 확인하기 위해 사용될 수있다.
  • 인터페이스에서 일반적으로 안전하지 않은 캐스팅을 수행 할 수 있습니다 TObject(SomeInterface)..
  • new delayed지시문은 DLL과 같은 외부 라이브러리가 선언시로드되지 않고 메서드에 대한 첫 번째 호출까지 대기 함을 나타냅니다.
  • 클래스 생성자 / 소멸자

델파이 2009

델파이 2007

  • 내가 아는 언어 변경이 없습니다.
    Delphi 2007은 non-breaking 릴리스이며 D2006의 DCU는 D2007에서 변경되지 않고 작동합니다 .
  • (2007 년의 .NET ‘성격’은 제네릭을 도입했습니다 )

델파이 2006

델파이 2005

  • for ... in 루프,
  • inline 예어
  • uses 문에서 와일드 카드 허용
  • 중첩 유형
  • 중첩 된 상수
  • {$REGION}/ {$ENDREGION}지시문

델파이 7

  • 세 가지 추가 컴파일러 경고 :
    • Unsafe_Type,
    • Unsafe_Code 및
    • Unsafe_Cast. 이러한 경고는 기본적으로 비활성화되어 있지만 활성화 할 수 있습니다.
  • 새로운 컴파일러 지시문 {$WARN UNSAFE_CODE ON}
  • TFormatSettings구조를 사용하여 숫자, 날짜-시간 값 및 통화를 형식화하고 구문 분석하는 루틴의 오버로드 .

델파이 6

델파이 5

새로운 언어 기능은 없지만 :

델파이 4

  • 동적 배열
  • LongWordInt64; CardinalUINT32 (부호없는 31 비트 값 이전)
  • Real8 바이트를 취하고 다음과 동일합니다 double(이전에는 6 바이트였습니다).
    • {$REALCOMPATIBILITY ON}컴파일러 지시문으로 재정의하십시오 .
    • REAL48이전 6 바이트를 대체합니다 real.
  • 을지 지하다 resourcestrings
  • 메서드 오버로딩
  • 기본 매개 변수
  • {$EXTERNALSYM}{$NODEFINE}지침
  • implements속성에 대한 키워드

델파이 3

  • Wordbool, LongBool입니다 및 bytebool 저장소 true로서 -11 대신 (부울 변하지)
  • 구성 요소는를 사용하여 설치해야합니다 packages.
  • 주장.
  • out 매개 변수.
  • Widestring
  • interfacedispinterface키워드 및 COM ( dispid) 지원.

델파이 2

  • 32 비트 지원;
  • Ansistringshortstring기본 문자열 유형으로 대체
  • Currency
  • Variant (OLE 자동화와의 상호 운용을 위해).
  • 스레딩 지원 및 ThreadVar키워드.
  • 4 바이트 데이터는 4 바이트로 정렬됩니다. 새 packed키워드가이 동작을 재정의합니다.
  • TDateTime은 1899/12/30 D1에서 시작합니다.0000/00/00
  • finalization키워드
  • registerstdcall호출 규칙이 추가되었습니다.
  • packed 예어.

답변

Johan 의 답변을 보완하기 위해 내 블로그에서이 항목을 확인 List of changes between versions of Delphi (Since Delphi 5)하고 The TIndex델파이 2005 이후 대부분의 새로운 기능과 각 기능에 대한 리소스를 나열한 우수한 페이지 를 확인하십시오.


답변

jedi.inc Dephi JEDI 프로젝트에서 사용하는 파일은 기능을 정의하는 일련의를 제공합니다. 프로젝트가 MPL과 호환되는 경우 기능 감지에 사용할 수도 있고 특정 휠을 재발 명하는 수고를 덜 수 있습니다.

예를 들어 SUPPORTS_FOR_IN컴파일러가 열거자를 지원하는지 여부를 정의 합니다. IFDEF특정 컴파일러 버전을 확인하는 대신 해당 정의를 확인하는 데 열거 자 코드를 래핑 할 수 있습니다 .


답변