2010-11-03 11 views
1

je cherchais à la mise en œuvre de l'objet TCustomComboBoxEx depuis que je dois créer une zone de liste déroulante personnalisée dans delphi et je me triying pour obtenir ce que je avais besoin, quand je suis tout à coup sur ce morceau de code:Delphi annotations

... 
[UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)] 
procedure TCustomComboBoxEx.CreateWnd; 
var 
    ChildHandle: THandle; 
    I: Integer; 
    StrEnum: IEnumString; 
    EditHandle: THandle; 
begin 
... 

Qu'est-ce que c'est sur le nom de la procédure? Quel est son but?

code comme travail delphi 2007 (mon code doit garder la compatibilité avec cette version)

Répondre

4

Ce sont des attributs. Ils ont été ajoutés aux contrôles VCL standard pour la prise en charge de VCL.NET (qui n'existe plus, BTW). Les attributs sont maintenant supportés avec Delphi 2010 et plus.

Vous pouvez en lire plus dans la documentation Delphi wiki

+2

Il était Delphi 2010 qui a introduit le support des annotations (pour les applications de la plate-forme Win32) – mjn

+0

intéressant mais il ne semble pas être quelque chose que le compilateur applique? Je veux dire que SAL fonctionne dans VS (http://blogs.msdn.com/michael_howard/archive/2006/05/19/602077.aspx) – Remko

+0

@Remko: Oui, ils ne sont pas appliqués par le compilateur, car s'ils étaient , alors tous les attributs .NET seraient cassés, et pour une raison quelconque, ils ne veulent pas passer à travers et les retirer de la source VCL. Je crois qu'Allen Bauer ou Barry Kelly ont dit à un moment donné que Delphi.NET est toujours utilisé et maintenu en interne chez Embarcadero, bien que je ne me souvienne pas où j'ai entendu cela. –