Suppression des dépendances

De RAD Studio
Aller à : navigation, rechercher

Remonter à Contenu d'un composant


Une des qualités qui favorisent l'utilisation des composants est le caractère illimité des opérations que l'on peut programmer dans leur code. Par nature, les composants peuvent être incorporés aux applications avec diverses combinaisons, dans des ordres ou des contextes différents. Les composants doivent être conçus pour pouvoir fonctionner dans n'importe quelle situation, sans condition préalable.

La propriété Handle des composants TWinControl. constitue un exemple de suppression des dépendances dans les composants. Si vous avez déjà écrit des applications Windows, vous savez que l'un des points les plus complexes à traiter et les plus susceptibles de générer des erreurs lors de l'exécution d'un programme est l'interdiction d'accéder à un contrôle fenêtré avant de l'avoir créé par un appel à la fonction API CreateWindow. Les contrôles fenêtrés de Delphi évitent cette difficulté en garantissant qu'un handle de fenêtre correct sera toujours disponible dès que nécessaire. En utilisant une propriété pour représenter le handle de fenêtre, le contrôle peut vérifier si la fenêtre a été créée ; si le handle n'est pas correct, le contrôle crée une fenêtre et renvoie son handle. Ainsi, chaque fois que le code d'une application accède à la propriété Handle, il est sûr d'obtenir un handle correct.

En les libérant des tâches d'arrière-plan telles que la création des fenêtres, les composants Delphi permettent aux développeurs de se concentrer sur ce qu'ils veulent vraiment réaliser. Pour transmettre un handle de fenêtre à une fonction API, vous n'avez pas besoin de vérifier que le handle existe ni de créer la fenêtre. Le programmeur est certain que les opérations vont se dérouler correctement et n'a pas besoin de le contrôler sans cesse.

Bien que la création de composants sans dépendances soit un peu plus longue, le temps qui y est consacré est généralement très utile. Non seulement cela évite aux développeurs répétitions et travail fastidieux, mais cela réduit la quantité de documentation et de support.