banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 24 August 2010 14:06

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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: 3197
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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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: 3197
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

 

Pied de page des forums

Powered by FluxBB