Liste des caractéristiques de langue Delphi et version dans laquelle ils ont été introduits/dépréciés

avant de commencer, je tiens à souligner que j'ai honnêtement et sincèrement cherché à plusieurs reprises et exhaustivement via Google pour une telle chose, et été incapable d'en trouver un.

j'ai besoin (pour un projet que je suis en développement) une liste de tous Delphi (de 2007 à la toute dernière version, je n'ai plus l'appui de toute version antérieure à la version 2007) "Fonctions du Langage", et les versions dans lequel elles ont été introduites et (le cas échéant) obsolète, l'amélioration ou supprimé.

j'ai noté des questions similaires à celle-ci sur le débordement de la pile avant, bien que la plupart de ceux-ci ont été formulés sous la forme de" quelle caractéristique est la meilleure", et fermé comme jugé inadéquat.

si quelqu'un connaît une telle liste (ou a assez de temps libre pour en compiler une), je lui en serais très reconnaissant.

la réponse acceptée contiendra soit un lien vers une telle liste, soit la liste elle-même.

97
demandé sur Danilo Casa 2011-12-11 01:31:31

3 réponses

notez que cette réponse ne contient que la nouvelle langue caractéristiques

Voici les liens vers le RAD Studio docwiki:

La liste complète de Embarcadero: Quoi de neuf

Voir aussi: liste de David I


pour résumer:

Delphi 10.3 (Codename Carnival) (à confirmer)

  • prise en charge pour OSX 64-bit
  • types Nullables

Delphi Tokyo 10.2

Delphi 10.1 Berlin

Delphi 10 Seattle

  • prise en charge pour Android 5.1.1 et iOS 8.4
  • Improved OSX exception handling""

Delphi XE8

  • Support for 64-bit iOS;
  • nouveaux types entiers: FixedInt , FixedUInt entier de 32 bits types sur toutes les plateformes;
  • nouveaux types d'entiers dépendant de la plate-forme: LongInt , LongWord (64 bits sur iOS-64, 32 bits sur toutes les autres plates-formes);

Delphi XE7

Delphi XE6

Delphi XE5

Delphi XE4

à XE4, cela a changé de sorte que $ENDIF est devenu un terminator accepté pour $IF, $IFDEF, $IFNDEF, et $IFOPT.

Delphi XE3

Delphi XE2

Delphi XE

  • la directive {$STRINGCHECKS} compilateur est ignorée dans XE;
  • nouvelle valeur de 16 octets pour la directive {$ALIGN} : Les valeurs acceptables pour les {$ALIGN} directive comprennent 1, 2, 4, 8 et 16.
  • nouvelle" directive 1519220920", définit l'adresse de départ d'une procédure ou d'une fonction.
  • Le {$STRONGLINKTYPES ON} directive
  • le Support des expressions régulières.

Delphi 2010

  • Enhanced Delphi RTTI (Run Information Sur Le Type D'Heure).
  • attributs
  • l'opérateur as peut être utilisé pour renvoyer une référence d'interface à l'objet dont elle a été extraite.
  • l'opérateur is peut être utilisé pour vérifier si une référence d'interface a été extraite d'une certaine classe.
  • la coulée dangereuse normale peut être effectuée sur une interface: TObject(SomeInterface) .
  • nouvelle delayed directive indique qu'une bibliothèque externe comme une DLL n'est pas chargée au moment de la déclaration, mais c'est d'attendre jusqu'à ce que le premier appel à la méthode
  • Class Constructeur/Destructeur

Delphi 2009

Delphi 2007

  • aucun changement de langue que je connaisse;

    notez que Delphi 2007 est une version sans rupture, les DCU De D2006 fonctionneront sans changement dans D2007 ;
  • (L' .NET "personnalité" de l'année 2007 l'introduction de génériques )

Delphes 2006

Delphi 2005

  • for ... in boucles
  • inline mot-clé
  • Joker dans l'énoncé des utilisations autorisé 15191130920"
  • types imbriqués
  • constantes imbriquées
  • {$REGION} / {$ENDREGION} les directives

Delphi 7

  • trois avertissements de compilateurs supplémentaires:
    • Unsafe_Type,
    • Unsafe_Code, et
    • Unsafe_Cast. ces avertissements sont désactivés par défaut, mais peuvent être activés
  • nouvelle directive de compilation {$WARN UNSAFE_CODE ON}
  • Surcharges de routines qui format et analyser des nombres, la date-l'heure, et la monnaie à l'aide d'un TFormatSettings de la structure.

Delphi 6

Delphi 5

Pas de nouvelles fonctionnalités de langage, mais:

Delphi 4

Delphi 3

  • Wordbool, longbool et bytebool magasin false comme -1 au lieu de 1 (Booléen est inchangé)
  • les composants doivent être installés en utilisant packages .
  • "15191100920 des Assertions.
  • out paramètres.
  • Widestring
  • interface et dispinterface mot-clé et COM ( dispid ).

Delphi 2

  • Support pour 32 bits;
  • Ansistring remplace shortstring comme le type de chaîne de caractères par défaut
  • Currency
  • Variant (pour interop avec OLE automation).
  • Enfilage du soutien et de la 15198510920" ThreadVar mot-clé.
  • 4 octets de données est de 4 octets aligné nouveau packed mot-clé remplace ce comportement;
  • TDateTime commence à 1899/12/30 sous D1 il commence à 0000/00/00
  • nouveau finalization mot-clé
  • register et stdcall conventions d'appel a ajouté.
  • packed mot-clé.
138
répondu Johan 2017-10-13 17:00:29

juste pour compléter la réponse de Johan vérifier cette entrée sur mon blog List of changes between versions of Delphi (Since Delphi 5) et l'excellente page The TIndex qui énumèrent la plupart des nouvelles fonctionnalités depuis delphi 2005 et des ressources sur chacun.

14
répondu RRUZ 2017-05-23 12:26:20

le jedi.inc fichier utilisé par le Dephi JEDI Project expose une série de caractéristiques définies. Si votre projet est compatible MPL, vous pouvez même l'utiliser pour la détection de fonctionnalités et vous épargner la peine de réinventer cette roue particulière.

par exemple, il définit SUPPORTS_FOR_IN si le compilateur supporte les recenseurs. On pourrait envelopper votre code d'énumérateur dans une vérification IFDEF pour ce définir plutôt que de vérifier pour un particulier version de compilateur.

6
répondu afrazier 2011-12-12 15:06:45