Dépendances et conflits entre unités et frameworks sur notre composant de boite de dialogue (partie 4)

- 14/03/2022 - 1 heure 38 minutes - Patrick Prémartin

Faire des composants identiques mais sur deux frameworks différents c'est prendre le risque de découvrir des trucs auxquels on n'a pas été confrontés en faisant des choses séparées ou dans des projets classiques.

Et en activant les paquets VCL et FireMonkey de notre boite de dialogue nous sommes tombé dedans.

Premier soucis : l'IDE refuse le chargement de plusieurs paquets contenant des composants avec le même nom et descendant de la même classe. C'est un peu logique à la base. Il aurait aussi pu prendre le dernier référencé ou le premier mais les effets de bord seraient trop importants.

Donc premier problème résolu : charger deux composants en apparence identiques en même temps.

Nous avons ensuite pu continuer à travailler sur notre version FireMonkey en ajoutant deux propriétés au composant non visuel : onCloseDialog et onURLClick.

Qui parle de composant multiplateforme dit aussi asynchronisme. C'est le choix qui a été fait pour cette boite de dialogue. L'appel de la méthode execute() du composant n'est pas bloquant. Une possibilité d'être informé de la fermeture de la boite de dialogue est donc la bienvenue.

Pour le second événement la raison de son ajout dans les deux versions du composant est simple : deux paquets ne peuvent pas embarquer une unité du même nom (même si c'est la même)... conflit, là encore. Etrange conflit, mais conflit à résoudre quand même.

Pour le contourner la gestion de l'ouverture du navigateur a été retirée des deux paquets de composants. Nous avons géré ça sous forme d'évenement à traiter dans le programme qui utilise la boite de dialogue.

Certaines informations n'ont pas été affichées. Vous devez vous connecter pour y accéder.

Connexion Inscription


Liens associés

Ces liens s'ouvrent dans la même fenêtre que cette page. En cliquant dessus vous quitterez Serial Streameur.
Pensez à les ouvrir dans un nouvel onglet si vous préférez rester ici pour y revenir plus facilement.


Mots-clés associés

Composant Delphi, Delphi, FireMonkey, FMX, VCL


Classement

Projets > Librairies et composants > Boite de dialogue "à propos" (composant Delphi VCL et FMX)