Bonjour,
J’essaye de passer sous Delphi turbo explorer Win 32 une application écrite en D6 . Elle utilise le composant comport ( http://sourceforge.net/projects/comport/).
Comme il n’est pas possible d’ajouter des composants je le crée à l’exécution.
Ca compile mais au lancement du programme il y a un message d’erreur " violation d’accès à l’adresse mémoire 7c923144 Dans le module NTDLL.dll"
J’ai essayé également de tester les exemples livrés avec comport : ça plante toujours à l’exécution pour des violations d’accès mémoire (à des adresses et modules variables).
Pour voir si c’est un problème de compatibilité avec Turbo Delphi, j’ai essayé de créer tcomport à l’exécution sous Delphi6. ça plante aussi, mais différemment : il y a un message d’erreur qui dit « echec lors du chargement des settings (n° port, vitesse, nombre de bits ..) » J’ai fait du pas à pas. A un moment le programme "déraille" : la fonction exécutée n’est pas celle appelée. Donc le programme dot être malade parce que le composant n’est pas créé correctement.
Je me pose des questions sur la création des composants à l’exécution.
J’ai vu au moins 150 sites qui expliquent comment créer un Tbutton à l’exécution et lui affecter un événement sur Onclick : ça oui ça marche
J’ai également créé à l’exécution un Tmaze composant plus complexe n’appartenant pas à la VCL (Maze generator v1.0 - http://luke.pascoe.net.nz/tools.html)
(c’est un labyrinthe et on voit sa résolution par le micro)
Donc jusque la ma conclusion est que l’on peut effectivement créer un composant à l’exécution ! (humour).
Par contre ça se corse si le composant est très complexe comme "Comport" (nombreux appels à l’api windows, plein de pointeurs) et je ne suis pas sur que ce soit toujours possible …
Ceci étant je loupe peut être quelque chose d’élémentaire !
Votre avis ?
Partager