Myriad Blog 1.3.0 Friday, Oct 31st, 2014 at 11:58pm 

Tuesday, Jan 17th, 2012 at 05:06pm
GDI+ et plug-ins ActiveX

 
Celui-ci nous a bien fait souffrir !
 
La dernière version du plug-in, utilisée sur Internet Explorer 9 et plus, bloquait le navigateur dès qu'on quittait une page montrant une partition.
 
Grâce à la mise en place d'une machine virtuelle sous Windows 8 beta avec Internet Explorer 10, nous étions parvenus à reproduire le problème, ce qui est déjà un grand pas. Restait à savoir ce qui coinçait.
 
Nous avons donc mis en place un protocole de test. D'un coté, sur la machine hôte sous XP, nous compilions une version de travail du plug-in, puis la passions par une connexion réseau sur la machine virtuelle Windows 8, et testions le résultat.
 
N'ayant aucune idée de ce qui pouvait bloquer, nous avons enlevé des pans entiers dans le code du plug-in, jusqu'à trouver celui d'où venait le problème. Ainsi, petit à petit, nous avons affiné la recherche jusqu'à arriver sur le tracé des courbes de Bézier, et plus particulièrement la libération de la session GDI+ (GDI+ est la librairie graphique avancée qui permet de tracer ce genre de courbes).
 
Après vérification de l'intégralité des fonctions utilisées, de leurs paramètres et de leurs valeurs de retour, force était de constater que nous étions conformes à ce qui était mentionné dans la documentation de Microsoft. Mais IE bloquait systématiquement lorsque notre programme disait à GDI+ : "nous n'avons plus besoin de toi" (fonction GdiplusShutdown).
 
Nous avons alors entamé des recherches sur Internet, afin de voir si nous étions les seuls à rencontrer le problème. Visiblement, nous n'étions pas seuls, de nombreux programmeurs s'y étaient heurtés, sans pouvoir trouver la moindre solution. Mais heureusement, au détour d'un blog perso de Mike van der Meulen, un programmeur inspiré, nous sommes tombés sur la solution qu'il exposait.
Il a suffi de l'appliquer pour que tout fonctionne à nouveau correctement. Merci (Gloire) à lui !
 
Nous allons donc poster ce soir une version modifiée du plug-in pour Windows. La modification étant en elle-même plus que modeste, et de plus spécifique à la version Windows, la version du plug-in va rester à 5.6.2d. il faudra simplement, si vous utiliser IE 9 ou supérieur, la télécharger à nouveau dès que le feu vert sera donné sur le forum, puis l'installer, la tester, et me faire savoir en retour si cela résout le problème chez vous.
by Olivier Guillion


Most recent first
Oldest first

Top of page
Last update:  (c) Myriad 2013