TOUT SUR LE BTP ET LA TOPOGRAPHIE
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Derniers sujets
» LA TOPOGRAPHIE POUR LE BTP
Dim 19 Mar - 17:26 par albator

» LES COURS DE GEODESIE
Mar 28 Fév - 11:16 par lili2006

» au sujet remblai
Ven 28 Oct - 17:34 par lili2006

» formation Autopiste
Jeu 25 Aoû - 15:42 par djingtresfort

» probleme au profils en travers
Mer 17 Aoû - 13:44 par souad2010

» Comment aligner un plan ?
Ven 17 Juin - 15:11 par lili2006

» Sciences géographiques et ouvrages d'art
Lun 6 Juin - 10:32 par lili2006

» Contrôle d'une étude d'exécution
Lun 6 Juin - 10:31 par lili2006

» Définir courant un gabarit
Dim 10 Avr - 8:11 par rezki2015

Shopactif


Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher

Detecter un projet VBA

Voir le sujet précédent Voir le sujet suivant Aller en bas

Detecter un projet VBA

Message par gcoot le Jeu 29 Avr - 4:54

Dans mon précédent post je vous présente mes outils sur Autocad mais j'ai encore un problème avec:

Je n'arrive pas à détecter la présence ou non d'un projet VBA en mémoire par une commande Lisp ou Autocad.

Quelqu'un peut il m'aider ?

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Jeu 29 Avr - 9:06

Bonjour à toutes et tous,

Que veux-tu faire exactement ?

Le projet doit-il être chargé ?

Alt+F8 te permet de voir tous les projets chargés, non ?
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Jeu 29 Avr - 21:38

Voila : j'ai des outils qui sont des macros inclus dans des projets VBA.

Ils sont lancés par des fichiers lisp qui chargent d'abord le projet contenant la macro :
(command "vbaload" "\\e-methodes\\Trace_grues\\Trace_grues.dvb")
(command "execVba" "Trace_Grues")

à la première utilisation dans une session Autocad l'utilisateur doit valider l'activation des macros, ce qui est ok pour la sécurité.

mais lors de l'utilisation suivante la première commande génère un message d'erreur car le projet est déjà chargé. C'est ce que je voudrait éviter.

NB : l'utilisation de (command "commandeAutocad") retourne NIL quelque soit le résultat de la commande autocad.

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Ven 30 Avr - 4:21

Bonjour à toutes et tous,

Ok !
Pour les projets VBA, je les charges depuis mon gabarit et je les lances ensuite depuis un bouton comme ceci :

Code:
^C^C-execvba;nomdetonprojet

J'espère avoir répondu à ton pb,...
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Ven 30 Avr - 7:15

C'est justement pour ne charger QUE les projets dont j'ai besoin au moment ou j'en ai besoin.

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Ven 30 Avr - 14:56

Re,

Quel est le pb de ma méthode ?

Aucune incidence sur la "lourdeur" du gabarit ,...

Désolé, je n'ai pas mieux,...

D'ailleurs, semble indépendant du gabarit de travail,...

De plus, je ne suis pas spécialiste de ce langage qui à disparut avec la V2010,...

Bon courage,
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Dim 2 Mai - 14:36

Bonjour,

Ta méthode est tout à fait OK par rapport à la taille du gabarit : les projets VBA ne sont pas enregistrés avec les dessins ais dans des DVB. On peut donc charger les ressources lisp et vba au démarrage d'autocad - avec le acad.lsp je crois.

Mais par contre ça prend des ressources système et ça c'est plus embêtant pour moi.
J'ai beaucoup d'outils différents et correspondant à des phases de travail spécifiques rarement faites ensemble. Par exemple tout les outils d'install servent peu en phase de rotations de banches... D'ou le choix de ne charger que par blocs en fonction des utilisations.

Sur le fond tu as toutefois raison : VBA est en disparition, je suis en train de regarder l'évolution avec ObjectArx.

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Dim 2 Mai - 15:06

Bonjour à toutes et tous,

Salut [Vous devez être inscrit et connecté pour voir ce lien]

Désolé, mais je ne sais faire mieux vu mon faible niveau en prog,...Didier, si tu passes par là,.... [Vous devez être inscrit et connecté pour voir cette image]
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Mar 18 Mai - 15:19

Salut

Pour savoir si une fonction est présente, tu peux faire en lisp

Code:
(eval 'ma_fonction)

Si tu as par exemple comme réponse
#<SUBR @0e134474 <EXRXSUBR>>
la fonction est présente

Un exemple concret pour charger une dll en lisp
Code:
(or (eval 'gc-vpthaw)
  (vl-cmdf "_.netload" (findfile "VpLayerLisp.dll"))
)

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Mar 18 Mai - 16:04

Bonsoir à toutes et tous,

Et Patrick_35 qui s'inquiétait de ne trouver sa place ici,... [Vous devez être inscrit et connecté pour voir cette image]

Cette fois ci, MERCI pour ton inscription ! [Vous devez être inscrit et connecté pour voir cette image]
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Mer 19 Mai - 6:20

Salut lili

Et Patrick_35 qui s'inquiétait de ne trouver sa place
ici,... [Vous devez être inscrit et connecté pour voir cette image]
Que pour trois questions. Il faut attendre que le site décolle.

Cette fois ci, MERCI pour ton inscription ! [Vous devez être inscrit et connecté pour voir cette image]
De rien. Si ma contribution peut aider [Vous devez être inscrit et connecté pour voir cette image]

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Mer 19 Mai - 22:21

Re,

De rien. Si ma contribution peut aider [Vous devez être inscrit et connecté pour voir cette image]

Et comment,... [Vous devez être inscrit et connecté pour voir cette image]

Il faut attendre que le site décolle.

C'est le temps qui nous le dira,...

@+,
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Jeu 20 Mai - 6:15

Bonjour,

Et merci pour ta solution Patrick_35.

En fait j'avais implémenté ce type de solution en définissant une variable en même temps que je charge le projet => si elle existe je ne charge pas le projet.

Le problème - et avec la tienne c'est la même chose, j'ai testé, c'est que c'est défini pour un dessin, et que le projet est défini pour une session Autocad éventuellement MDI => quand on change de dessin dans la même session la variable ou fonction Lisp n'est plus définie et on tente a nouveau le chargement du projet alors qu'il n'y a pas lieu.

J'ai conscience que c'est le fait d'utiliser VBA qui pose pb et je pense qu'avec un ARX ce serait plus rigoureux, mais bon, l'historique est la !

J'ai vu que dans Autolisp il y avait une gestion d'erreur en MDI, je vais chercher par là.

Merci aussi pour ton autre réponse, je n'ai pas encore eu le temps de la tester.

A + tard !

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Jeu 20 Mai - 6:24

Salut

Le problème - et avec la tienne c'est la même chose, j'ai testé, c'est
que c'est défini pour un dessin, et que le projet est défini pour une
session Autocad éventuellement MDI => quand on change de dessin dans
la même session la variable ou fonction Lisp n'est plus définie et on
tente a nouveau le chargement du projet alors qu'il n'y a pas lieu.
Je veux bien te croire quand tu dis que cela ne marche pas avec vba, mais ma solution fonctionne parfaitement avec des fonctions lisp/vlisp/arx et même dll. Donc cela me surprends quand même.
Le but est de tester si la fonction est présente.
Non --> je la charge.

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Sam 22 Mai - 11:10

Bonjour,

Malheureusement lorsqu'on utilise VBA Autocad charge l'environnement d'exécution dans lequel il reconnait les macro mais il ne reconnait pas ces macros comme des commandes. Il faut utiliser execvba NomDeLaMacro.

Tant pis, j'utilise ma demi solution en attendant de passer tout ça en arx.

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Mar 25 Mai - 8:53

en attendant de passer tout ça en arx
Je ne pense que qu'un arx soit l'idéal car tu es obligé de générer un arx par version d'autocad alors qu'avec une dll, ce n'est plus le cas.

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par gcoot le Ven 28 Mai - 4:58

Bonjour,

J'ai vu qu'il y avait aussi cette possibilité. Mais permet elle de créer des commandes externes à autocad utilisables comme avec du lisp ou un arx ?

Ca m'intéresse d'autant plus qu'effectivement les arx doivent être compilés par versions et avec une version de visual c++ différente toute les 3 version. C'est bien lourd lorsque l'on vise un groupe d'utilisateurs avec des config et versions pour le moins disparates !

Si tu avais un exemple de dll qui soit reconnue dans l'environnement autocad comme une commande ou des références de docs ce serait d'un grand secours.

Merci ... en plus, ils m'ont relâché [Vous devez être inscrit et connecté pour voir cette image]

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Ven 28 Mai - 10:09

Par exemple Ici comme fonction lisp ou encore Là.

De rien, comme ça, tu vas pouvoir continuer à programmer [Vous devez être inscrit et connecté pour voir cette image]

@+


Dernière édition par Patrick_35 le Ven 28 Mai - 11:17, édité 1 fois

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Ven 28 Mai - 10:49

Bonjour à toutes et tous,

Salut Patrick_35,

Tu as dû t'emmêler les pinceaux dans les liens pointés,...(Deux fois le même),... [Vous devez être inscrit et connecté pour voir cette image]
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Patrick_35 le Ven 28 Mai - 11:19

A voui

Je corrige [Vous devez être inscrit et connecté pour voir cette image]

ps : On ne vois pas les liens dans les messages. Ils sont justes soulignés

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par lili2006 le Ven 28 Mai - 11:34

Re,

Oui, je vais essayer de voir comment je peux faire mieux, c'est en effet pas terrible comme ça,..

@+,
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Detecter un projet VBA

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum