#1 Wed 12 October 2011 14:10
VBA sous AutoCAD 2013
Bonjour à tous,
Comme il est précisé dans l'excellent historique de Patrice (http://georezo.net/forum/viewtopic.php?id=44042), VBA ne sera plus disponible pour AutoCAD 2013. Depuis le temps qu'on en parle, il fallait bien que ça arrive.
J'ai malgré tout une question, est-ce que nos fonctions existantes qui avaient été codées grâce à VBA vont continuer de fonctionner ?
Je suis prêt à tout recoder en VB.NET mais bon...si on peut éviter.
J'attends vos réponses avec impatience, très bonne journée à tous !
Hors ligne
#2 Thu 13 October 2011 19:21
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4793
Re: VBA sous AutoCAD 2013
Hello
J'adore repondre dans un domaine ou je suis une "tanche" !
Vu de loin, cela me semble completement impossible !
Tu dois envisager de TOUT reprogrammer en DOTNET ...
Geobye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Mon 17 October 2011 12:58
Re: VBA sous AutoCAD 2013
En voilà une excellente nouvelle...merci de ta réponse en tous cas
Hors ligne
#4 Sun 23 October 2011 22:08
Re: VBA sous AutoCAD 2013
Tes programmes VBA ne pourront pas fonctionner sans adaptation dans l'environnement .NET
La chose est un peu technique à expliquer mais en gros tu pourrais garder la plupart de ton code VBA si tu utilises l'interface COM d'AutoCAD, tu n'auras alors pas la puissance du .NET, mais tu n'auras pas en principe à tout reprogrammer.
Si tu parles un minimum d'anglais informatique, consulte le site http://www.acadnetwork.com
webmaster ExMateria
Hors ligne
#5 Tue 25 October 2011 08:50
Re: VBA sous AutoCAD 2013
J'ai déjà du utiliser l'interop pour des fonctions Map qui n'étaient pas implémentées en .NET. Je suppose que ça doit être a peu près la même marche à suivre.
Hors ligne
#6 Tue 25 October 2011 09:07
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: VBA sous AutoCAD 2013
Bonjour,
tu n'auras alors pas la puissance du .NET
Si effectivement l'interface COM est utilisable (je ne suis pas un acadien !) les codes VBA fonctionneront avec elle. On ne peut pas parler de puissance en matière de .NET, car particulièrement en matière graphique le .NET n'est pas rapide. (la GDI+ est une m***).
VB (A° et VB.Net sont radicalement différents. Dans l'un (VB) la mémoire est gérée par le programmeur et il ne s'agit pas à proprement parler d'un langage orienté objet, alors qu'en .NET il y a une gestion de la mémoire intégrée vie le ramasse miettes (garbage collector).
J'ai déjà du utiliser l'interop pour des fonctions Map qui n'étaient pas implémentées en .NET.
Attention l'Interop service est un espace de nom du framework .NET, qui sert entre autre à ce connecter avec des logiciels tiers(Excel, Word etc ...) donc il doit ici s'agir uniquement de l'Interop avec MAP.
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#7 Tue 25 October 2011 09:16
Re: VBA sous AutoCAD 2013
Je viens de trouver ça :
Microsoft Visual Studio can utilize both native .NET and COM interfaces in the same project. By utilizing COM interop, you can migrate existing code that might have been written in Visual Basic 6 or VBA without having to completely rewrite it.
Le lien complet : http://docs.autodesk.com/ACD/2010/ENU/A … ber=d0e351
Donc effectivement, on peut s'en sortir sans tout reprogrammer. La question qui se pose est donc : Que peut on gagner à tout reprogrammer ? Est-ce valable ou non ?
Dernière modification par Guigui5 (Tue 25 October 2011 09:18)
Hors ligne
#8 Tue 25 October 2011 16:01
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: VBA sous AutoCAD 2013
Bonjour,
Le lien que vous fournissez donne une "page not found" !
By utilizing COM interop, you can migrate existing code that might have been written in Visual Basic 6 or VBA without having to completely rewrite it.
C'est beau comme si c'était un commercial qui l'écrivait ! Dans la réalité c'est pas si évident. Tout est dans le "having to completely", car le plus souvent il faut en réécrire une partie. MS nous fait la même avec son convertisseur de code VB6 vers .NET ! L'expérience prouve qu'il vaut mieux repartir de zéro avec .NET plutôt que d'essayer d'adapter un existant en VB6.
Que peut on gagner à tout reprogrammer ?
Rien. Si vous avez un code VBA qui fonctionne gardez le. En revanche si vous devez écrire du code nouveau, passez à .NET. Ceci tout simplement pour vous y habituer car bientôt il n'y aura plus que cela. Et il faut avouer que si le framework est un peu ch*** à intégrer car il est vaste, ses fonctionnalités sont tout de même plaisantes et efficaces.
Ceci étant dit je reste tout de même septique sur l'utilisation de .NET avec les images telles que nous les utilisons en géomatique. Leur poids et leur définition en matière de profondeur (particulièrement N&B et 256 couleurs) de couleur font que l'on atteint plus que rapidement les limites du .NET.
Pour coder tous les jours en .NET je peux affirmer que ce n'est pas le bon langage pour faire du graphisme. De plus l'utilisation de ce langage via des logiciels tiers pose des problèmes, car on ne sait jamais quand ni comment un objet est géré en mémoire par le garbage collector. Pour vous en convaincre allez voir du coté d'ESRI qui eux aussi ce sont mis à .NET non sans déboires !
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#9 Fri 28 October 2011 09:43
Re: VBA sous AutoCAD 2013
J'ai déjà codé pas mal en .NET et ça ne me pose pas de souci. Le problème est que nous avons beaucoup de fonctions codées en VBA pour AutoCAD (réalisées par des personnes qui ne travaillent plus ici). D'après ce qu'on a pu voir, l'an prochain ces fonctions seront inutilisables. Il s'agit donc de trouver la meilleure solution, car tout recoder c'est beaucoup de temps et d'argent, et j'analyse toutes les possibilités avant de me lancer dans cette vaste entreprise
Hors ligne
#10 Fri 28 October 2011 15:19
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: VBA sous AutoCAD 2013
Bonjour,
Donc la suppression de vba n'induit pas la suppression de l'interface COM ou cette dernière est-elle vouée à disparaitre elle aussi?
J'ai quelques script écrit en Python qui utilise cette interface, je me demande s'ils auront le même destin que mes script vba.
Hors ligne
#11 Fri 28 October 2011 19:45
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: VBA sous AutoCAD 2013
Bonjour,
Donc la suppression de vba n'induit pas la suppression de l'interface COM
L'interface COM est en faite une interface de Windows. Je ne pense pas qu'elle soit vouée à disparaître rapidement.
Et d'après ce que je lis là:
http://usa.autodesk.com/adsk/servlet/in … ;id=770215
Il vous suffit d'avoir le pack VBA pour 2012 "non officiel" installé sur la machine pour qu'un 2013 enquille les scripts VBA écrits précédemment.
C'est juste un pb de dll présente sur la machine pour que les scripts s’exécutent.
Après il est vrai que si le modèle objet d'Autocad change fondamentalement forcement certaines instructions ne seront plus valable. Mais comme généralement la compatibilité ascendante est assurée ...
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne