- Je dispose d'un exécutable compilé avec Delphi XE7 PRO (je n'ai pas les sources à ma disposition)
- Je dispose d'une DLL également compilée avec Delphi XE7 PRO (dont j'ai les sources à disposition)
Le processus, qui fonctionne parfaitement dans ce cas de figure, est en gros :
- L'exécutable est lancé et charge automatiquement la DLL
- L'exécutable affiche une IHM
- L'appui sur un bouton de l'IHM demande à la DLL :
- de créer une fiche
- de l'afficher de façon modale.
La création et l'affichage de la fiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 _maFiche:=TMaFiche.create(NIL); _maFiche.showModal;
Maintenant, je compile le source de la DLL mais en utilisant Delphi 10.3.3 Community Edition.
Le processus devient :
- L'exécutable est lancé et charge automatiquement la DLL
- L'exécutable affiche une IHM
- L'appui sur un bouton de l'IHM demande à la DLL :
- de créer une fiche
- de l'afficher de façon modale. --> déclenchement d'une exception
En pistant dans le code source DELPHI il s'avère que l'exception est déclenchée dans la méthode :
sur l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part function TCustomForm.ShowModal: Integer;
N.B. avec le code ci-dessous il n'y a pas de déclenchement d'exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.HandleMessage;
Mes questions/demandes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 _maFiche:=TMaFiche.create(NIL); _maFiche.show;
- la création de fiches dans une DLL compilée avec une version différente de Delphi de celle utilisée pour compiler l'exécutable est elle absolument à proscrire, faut-il impérativement passer par des packages ?
- est-il possible de développer un showmodal like qui ne produirait pas cette exception ?
Partager