Bonjour,
J'ai posté un message hier à propos d'une violation d'accès inexpliquée. 17 lectures et aucune réponse. Il est vrai qu'au moment de la rédaction de ce message je venais tout juste de faire le constat. Depuis hier j'ai mieux cerné le problème.
En fait dans une procédure graphique il s'agit de dessiner sur un ACanvas : TCanvas passé en paramètre dans une procédure.
La procédure modifie des couleurs et fait donc appel à la méthode ACanvas.Brush.Color := CouleurMachin;
Si cette procédure se trouve dans le code de l'exécutable aucun problème.
Si la même procédure est transférée dans une DLL elle fonctionne également sans problème mais à la fermeture de l'exécutable elle déclanche une erreur violation d'accès !
Tout se passe comme si la DLL n'accepte pas la méthode TCanvas.Brush.Color = UneCouleur, alors que cette méthode utilisée strictement de même façon dans un exécutable ne pose aucun problème.
Pour info
1) dans la DLL la méthode TCanvas.Pen.Color ne pose elle aucun problème.
2) J'utilise D 2007
Qui a une explication ?
Et surtout Qui sait comment corriger ce genre de Bug, car j'ai besoin que ladite procédure soit dans une DLL
Merci pour votre aide à tous
Partager