#1 Tue 24 August 2010 14:06
Plus de VBA dans les prochaines versions d'ArcGIS !
ArcGIS 10, et sa prochaine version mineure 10.1 sont les dernières versions pour quelques points majeurs.
Alors que beaucoup d'émoi apparait face à la déclaration de l'abandon du 32 bits pour la version serveur d'ArcGIS, je trouve que la déclaration qui a le plus de conséquences est l'abandon du VBA.
Certes, Microsoft promeut depuis longtemps sa suite .NET, Microsoft a désormais abandonné le VBA. ESRI a alors simplement décidé d'en finir aussi avec le VBA. Le commentaire est simple : réécrivez toutes vos routines VBA en Python, VB.NET ou C# !
Cette version 10 n'est pas une version majeure pour rien, beaucoup de choses changent, et ce ne sont pas que des habitudes à prendre. Je ne sais pas quelle est la part de macros VBA utilisés dans les ArcGIS Desktop, mais la bibliothèque de fonctions est relativement gigantesque.
Je ne sais pas quand cette version 10.1 sortira, mais je pense que la perte est similaire au passage du langage Avenue au VBA.
Vu sur http://www.forumsig.org/showthread.php?t=28142
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#2 Wed 25 August 2010 10:27
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Plus de VBA dans les prochaines versions d'ArcGIS !
Bonjour,
Sans être un spécialiste des produits ESRI, il me semble que les routines VBA faisaient largement appel au modèle objet ESRI. Le portage de ce modèle sous .NET n'est pas en soi un soucis car d'après le peu que j'avais vu il me semblait que ce modèle objet était déjà "très" .NET (framework 1) . La problématique va plutôt ce situer au niveau du garbage collector de .NET, compte tenu des objets manipulés il faut qu'ESRI soigne la gestion des objets non managés ...
Par contre pour les développeurs ça va changer méchamment au niveau des concepts et des habitudes ... sans compter l'apprentissage du framework .NET (perso il m'a fallu au moins 6 mois pour commencer à le connaître).
A+
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#3 Wed 25 August 2010 11:15
Re: Plus de VBA dans les prochaines versions d'ArcGIS !
Oui, le modèle objet est le même quelque soit le langage. Et passer du VBA au VB.NET n'est pas si méchant. Mais comme tu dis Christophe, il y a quelques concepts supplémentaires, alors que le VBA est bien plus abordable.
La problématique va plutôt ce situer au niveau du garbage collector de .NET, compte tenu des objets manipulés il faut qu'ESRI soigne la gestion des objets non managés ...
C'est simple, quand j'ai développé en .NET, j'avais des problèmes que le support ESRI n'a pas su résoudre immédiatement. La réponse m'est parvenue plus tard, après consultation des développeurs chez ERSI Inc : je devais vider le garbage collector de .NET à la fin de chaque fonction.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#4 Wed 25 August 2010 14:41
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Plus de VBA dans les prochaines versions d'ArcGIS !
Bonjour,
je devais vider le garbage collector de .NET à la fin de chaque fonction.
Oui c'est une solution de faire un GC.Collect mais en fait c'est un petit peu plus compliqué que ça car il faut aussi indiquer au GC qu'une partie de la mémoire du tas est utilisée par des fonctions non managées à l'aide de GC.addmemorypressure et sa fonction inverse quand les fonctions non managées libère de la place sur le tas. De même si on utilise en .NET des listes si elles pointent sur des objets ayant une partie dans le non managée, il faut aussi vider ces listes ... J'écris tout cela en connaissance de cause pour avoir implémenté en .NET la SDK de XNVIEW écrite en C, où il apparait que les données bitmap chargée par la SDK sont non managées et mon objet "Image" du .NET est lui dans l'espace managé ...
Après quelques tubes d'aspirines j'y arrive à peu près mais il reste encore des bugs qui se traduisent par l'absence d'affichage des rasters au bout d'un certain temps d'utilisation du logiciel ....
Même s'il semble que l'on s'éloigne du sujet initial, il n'en reste pas moins que je souhaite bon courage aux développeurs et particulièrement au support technique d'ESRI ...
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne