Aller au contenu

Erreur automation


Messages recommandés

Posté(e)

Bonjour à vous tous

 

J'expose mon problème par le biais d'un exemple car il n'est pas facile à expliquer. C'est dans le cas d’une gestion par des réacteurs.

 

je sélectionne un attribut

(setq ent (vlax-ename->vla-object (car (nentsel))))

j'efface le bloc qui contient l'attribut depuis autocad

Si je fais un

(vlax-read-enabled-p ent)

pour savoir si mon bloc a été effacé, je constate que mon attribut est toujours valable, alors que logiquement je ne devrais plus rien retrouver :casstet:

Qu'importe, je vais rechercher le bloc qui contient l'attribut

(setq pere (vla-objectidtoobject (vla-get-database ent) (vla-get-ownerid ent)))

Et là, j'ai un message d'erreur d'automation ??? Alors que si je refais cette ligne mais sans l'effacement au préalable de mon bloc, ça fonctionne parfaitement :exclam:

Je peux comprendre l'erreur, mais je n'arrive pas à la traiter et je n'ai absolument pas envie de passer par *error* et un vl-catch-all-apply ne me semble pas indiqué

 

Quizz ?

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Bon, bah je fais les questions et réponse

J'ai trouvé et je ne pensais pas réussir avec vl-catch-all-apply

 

La solution, c'est donc

(vl-catch-all-error-p (vl-catch-all-apply 'vla-objectidtoobject (list (vla-get-database ent) (vla-get-ownerid ent))))

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité