Список функций языка Delphi и версии, в которой они были введены / устарели
прежде чем я начну, я хотел бы отметить, что я честно и искренне искал неоднократно и исчерпывающе через Google для такой вещи, и не смог ее найти.
мне требуется (для проекта, который я разрабатываю) список всех Delphi (2007 до самой последней выпущенной версии, я больше не поддерживаю версию старше 2007) "языковые функции" и версии, в которых они были введены и (где это применимо) устарели, улучшены или удалены.
I отмечали подобные вопросы к этому на переполнении стека раньше, хотя большинство из них были сформулированы в виде "какая функция лучше" и закрыты, как считается непригодным.
Если кто-нибудь знает о таком списке (или имеет достаточно свободного времени для его составления), я был бы очень благодарен.
принятый ответ будет содержать либо ссылку на такой список, либо сам список.
3 ответа:
обратите внимание, что в этом ответе перечислены только новые язык особенности
вот ссылки на RAD Studio docwiki:
- что нового в Delphi и C++Builder 10.2 Tokyo
- что нового в Delphi и C++Builder 10.1 Berlin
- что нового в Delphi и C++Builder 10 Seattle
- что нового в Delphi и C++Builder XE8
- что нового в Delphi и C++Builder XE7
- что нового в Delphi и C++Builder XE6
- что нового в Delphi и C++Builder XE5
- что нового в Delphi и C++Builder XE4
- что нового в Delphi и C++Builder XE3
- что нового в Delphi и C++Builder XE2
- что нового в Delphi и C++Builder XE
- что нового в Delphi и C++Builder 2010
- что нового в Delphi и C++Builder 2009
- что нового в RAD Studio (Delphi для Win32 2007)
- что нового в RAD Studio (C++Builder 2007)
- что нового в Delphi 2006
- что нового в Delphi 2005
- что нового в Delphi 7
- что нового в Delphi 6
- что нового в Delphi 5
- что нового в Delphi 4
- что нового в Delphi 3
- что нового в Delphi 2
- Delphi 1 Features
полный список от Embarcadero: что нового
Смотрите также:список Дэвида I
подведем итоги:
Delphi 10.3 (кодовое название Carnival) (подлежит подтверждению)
- поддержка OSX 64-бит
- типы с нулевым значением
- поддержка серверных приложений Linux (Intel 64-бит с использованием LLVM и ARC).
- назначение динамических массивов указателю с помощью
@
оператор разрешен только при жестком литье массива.- более гибкое разрешение пространства имен блока имена
- встроенная поддержка типа utf8string и RawByteString тип на всех платформах
- The
[weak]
,[unsafe]
и[volatile]
атрибуты поддерживаются на всех компиляторах.- размер extended на OSX теперь составляет 16 байт.
- помощники по классам и записям не могут получить доступ к закрытым членам классов или записей, которые они расширяют.
- поддержка Android до 6.01.
- поддержка Android 5.1.1 и iOS 8.4
- улучшена обработка исключений OSX
- поддержка 64-разрядной iOS;
- новые целочисленные типы: FixedInt, FixedUInt 32-битные целочисленные типы на всех платформах;
- новые зависимые от платформы целочисленные типы: LongInt, длинное слово (64-бит на iOS-64, 32-бит на всех других платформах);
- строковые операции, поддерживаемые на динамических массивах
- параллельная библиотека добавлена в RTL
новые внутренние процедуры компилятора (недокументированные):
function IsManagedType(T: TypeIdentifier): Boolean; function HasWeakRef(T: TypeIdentifier): Boolean; function GetTypeKind(T: TypeIdentifier): TTypeKind; function IsConstValue(Value): boolean;
- Поддержка Android;
необходимо устройство с ArmV6 + Neon или ArmV7 для развертывания
вводит условное определение ANDROID- перегрузка операторов для классов (но только для компилятора NextGen {Android / iOS})
следующие новые условные обозначения: введено / включено в XE4:
AUTOREFCOUNT
CPUARM
EXTERNAL_LINKER
Прошивкой
Главная
UNDERSCOREIMPORTNAME
WEAKREF
WEAKINSTREF
WEAKINTREF
- вновь введена поддержка iOS.
- новая
dependency
директива для указания зависимостей внешней библиотеки (недокументированной до XE8).- поддержка дуги в NextGen компиляторы (в том числе TObject.DisposeOf).
обратите внимание, что большая часть основы для ARC уже была в XE3, но большая ее часть была отключена- перед выпуском XE4,
$IF
операторы могут быть завершены только с$IFEND
и$IFDEF
,$IFNDEF
,$IFOPT
директивы могут быть завершены только с$ENDIF
.в XE4 это изменилось так, что $ENDIF стал принятым Терминатором для $IF, $IFDEF, $IFNDEF и $IFOPT.
- запись помощников для встроенных типов
- удалена поддержка iOS.
- атомная встроенные функции:
AtomicExchange()
,AtomicIncrement()
,AtomicCmpExchange()
,AtomicDecrement()
- введение элемент [ref] атрибут.
- кросс-платформенная поддержка для Mac OSX (32-бит) и iOS;
- поддержка Win64;
- модифицированный RTL для поддержки кросс-платформы;
Packed
теперь заставляет выравнивание байтов записей (до XE2 это не обязательно делать)восемь новых определений были добавлено:
ALIGN_STACK
CPUX86
CPUX64
MACOS (операционная система Mac)
MACOS32
PC_MAPPED_EXCEPTIONS
PIC
WIN64- полные имена области блока теперь требуются в вашем
uses
предложения.{$ExcessPrecision on/off}
директива компилятора (только для x64)- встроенные типы отличаются в зависимости от целевой платформы (32/64-бит)
- расширенный тип данных составляет 10 байт на Win32, но 8 (!) байт на Win64
- The
{$STRINGCHECKS}
директива компилятора игнорируется в XE;- новое 16-байтовое значение для
просто для дополнения ответа Йохан проверьте эту запись в моем блоге
List of changes between versions of Delphi (Since Delphi 5)
и отличная страницаThe TIndex
в котором перечислены большинство новых функций с delphi 2005 и ресурсы о каждом из них.
The джедаев.inc файл, используемый проектом Defi JEDI, предоставляет ряд определений функций. Если ваш проект совместим с MPL, вы можете даже использовать его для обнаружения функций и избавить себя от необходимости изобретать это конкретное колесо.
например, он определяет
SUPPORTS_FOR_IN
если компилятор поддерживает счетчики. Можно было бы обернуть ваш код перечислителя вIFDEF
проверка этого определения вместо проверки конкретной версии компилятора.