CALCULATRICE CONVERTISSEUR FRANC - EURO AVEC DLL DYNAMIQUE

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 14 juin 2002 à 18:56
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 14 juin 2002 à 18:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11991-calculatrice-convertisseur-franc-euro-avec-dll-dynamique

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
14 juin 2002 à 18:56
Il aurait été aussi plus rapide de ne charger la dll qu'une seule fois au lancement de l'application, ainsi que determiner les adresses des deux fonctions.
La libération de la dll n'étant effectuée ensuite qu'à la fermeture de l'appli.

Note sur le type Real : Ce que DelphiProg voulait dire est que le type Real est type non natif des processeurs et donc utilisable que par Delphi, dumoins jusqu'a la version 4 incluse. Maintenant ce n'est plus le cas : les version 5 et 6 de Delphi font correspondre le type Real à Double et donc devient compatible avec le type Float des autres langages. L'ancien type Real de Delphi 1 à 4 est maintenant le type Real48.
Cependant dans l'écriture des dll, précise directement un type Double pour qu'il soit compatible avec les autres langages.

De même ( comme le signale DelphiProg ) il faut passer par la convention StdCall pour être le plus ouvert possible :
function euro_franc(devise, interm : Double):Double;StdCall;
Au niveau du fonctionnement c'est la même chose et seules des notions d'assembleur permettent de faire la différence.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
13 juin 2002 à 21:17
ACHTUNG ! même si le chargement de la DLL échoue, tu essaies de trouver la procédure euro_franc et, le bouquet final, tu tentes de décharger une DLL qui n'est peut-être pas chargée !
Beaucoup de répétitions dans le code entre btneuroClick et btnfrancClick. Heuresement que l'appli n'a pas plusieurs milliers de lignes car pour maintenir l'ensemble, ce serait une vrai galère.
Autre problème : ta dll n'est pas utilisable autrement qu'avec un programme...écrit en Pascal; tu ne précises pas les conventions d'appel, tu passes des réels comme paramètres !
Est-il vraiment nécessaire de stocker les valeurs dans strfr et streuro pour les affecter à convecran.caption et ecran.caption ? Visiblement, non.
En revanche, le coup des touches est bien vu !
Rejoignez-nous