onossa Posté(e) le 4 avril 2010 Posté(e) le 4 avril 2010 Bonjour,Utilisateur ponctuel d'Autolisp, je souhaiterai autoriser l'accès aux petites fonctions contenues dans un lisp qu'à deux collègues. (les deux seuls dessinateurs).Le fichier est un vlx issu d'un lsp, placé sur un serveur.L'idée est de placer une fonction s::startup qui identifierai le login de l'utilisateur, et sortirai d'AutoCAd si celui-ci n'est pas un de ceux stipulés.Je pensais à la fonction If + or, mais, même si je n'ai jamais été un programmateur de lisp aguérri, je me suis rouillé depuis le temps et je n'arrive pas dans le OR, à lui faire "voir" l'utilisateur autorisé..Quelqu'un pourrait m'aider ?? Merci à tous ! (defun s::startup () (setq lq (getvar "loginname")) (if (or (/= lq "userautorise1") (/= lq "userautorise2") (/= lq "userautorise3") ) (progn (alert "login non-autorisé") ;(command "quit" "n") ) ) ) (defun c:toto () (command "zoom" "ex") ) L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
(gile) Posté(e) le 5 avril 2010 Posté(e) le 5 avril 2010 Salut, Je ne comprends pas bien la demande.S'il n'y a que 2 ou 3 postes qui doivent utiliser le VLX, pourquoi ne pas l'installer en local sur ces postes ? Sinon pourquoi utiliser une fonction S::STARTUP (depuis un fichier de chargement automatique de LISP sur le serveur, j'imagine) ?Dans ce fichier (acaddoc.lsp ou mnl) sur le serveur il suffirait de mettre une expression du genre :(if (member (getvar "loginname") '("userautorise1" "userautorise2" "userautorise3")) (load "LeFichierVLX") ) et "LeFichierVLX" ne serait chargé que sur les postes autorisés. Mais je n'ai peut-être rien compris à la demande... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
onossa Posté(e) le 5 avril 2010 Auteur Posté(e) le 5 avril 2010 Bonjour Gile, et merci pour ta réponse si rapide. Au fait, placer le vlx sur serveur, me permet d'apporter quelques ajouts quand besoin est, et que les utilisateurs puissent en bénéficier quand ils allument leur PC. protéger l'accès aux fonctions, est lié au fait d'avoir des personnes qui souhaiteraient bénéficier de ces fonctions,s ans avoir le profil de dessinateur. Ce sont des petits plus que je souhaite conserver entre dessinateurs, à tort ou à raison.Certains arrivent à "apploader", et l'idée serait qu'ils ne puissent pas s'en servir si ils ne font pas partie des membres autorisés.De plus, je ne dois pas modifier les fichiers acaddoc ou mnl. Juste un ajout dans startup suite m'est autorisé. je pense que le (if (member... suffira dans une fonction startup.Je suis preneur de toute remarque ou conseil Gile. Dernière question: pour une société qui désire implémenter un ruban supplémentaire avec quelques fonctions dédiées au métier: quel language penses tu le plus pertinent, sachant qu'il y a un facteur déployement et update non négligeable ? Merci pour tes lumières et bonne journée. Amicalement, L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
(gile) Posté(e) le 5 avril 2010 Posté(e) le 5 avril 2010 Salut, Le plus simple pour limiter l'accès au fichier VLX est de modifier directement le LISP source en ajoutant l'expression suivante au tout début du fichier -avant le premier (defun ...)- et de recompiler le VLX. (if (null (member (getvar "loginname") '("userautorise1" "userautorise2" "userautorise3"))) (progn (alert "login non-autorisé") (exit) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
onossa Posté(e) le 5 avril 2010 Auteur Posté(e) le 5 avril 2010 Merci Gile,C'est exactement cela. J'entend beaucoup parler quele lisp cessera sur les futures versions d'AutoCA. Mon opinion est différente. Qu'en pesnes tu ?Entre lips, vba et c++, quelle language te semble le plus adapté à un développement long terme, déploiement, et ple plus à même de fonctionner sur tous postes (os / versiosn d'AutoCAD, US ou FR). Merci beaucoup Gile,Amicalement L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
(gile) Posté(e) le 6 avril 2010 Posté(e) le 6 avril 2010 salut, J'entend beaucoup parler que le lisp cessera sur les futures versions d'AutoCAD C'est curieux qu'il y ait encore ce genre de rumeur à l'heure où il est publiquement et officiellement annoncé que VBA est fournit (en téléchargement) pour la dernière fois avec les versions 2011. Autodesk abandonne VBA parce que Windows (propriétaire de VBA) l'abandonne au profit de .NET Autodesk est propriétaire d'AutoLISP qui est un langage embarqué et donc indépendant.Autodesk n'aurait aucun intérêt à abandonner AutoLISP qui restera après la disparition de VBA le seul langage de programmation (facilement) accessible pour les dessinateurs. AutoLISP n'a pratiquement pas évolué depuis l'apparition de Visual LISP (AutoCAD 2000). .NET, la nouvelle plateforme de programmation (supportée par AutoCAD depuis la version 2005) plus puissante qu'AutoLISP est en pleine évolution (chaque nouvelle version d'AutoCAD s'accompagne de nouvelles interface de programmation). Mais l'apprentissage de .NET et d'un langage qu'il supporte (C#, VB.net, etc.) est plus long et plus exigeant que celui de LISP (ou VBA). ARX (C++) est, et restera, l'environnement de programmation le plus puissant pour AutoCAD tant en terme de performances que de possibilités. Mais le temps nécessaire à l'apprentissage de C++ et les difficultés de mise en œuvre (débogage) de programmes écrits dans un langage de bas niveau, réservent l'utilisation de la programmation ARX aux programmeurs professionnel et aux grosses applications. Aucun de ces environnements de programmation n'est lié à une version linguistique d'AutoCAD. Seule l'utilisation de noms de commandes dans les langues locales pourrait poser des problèmes de compatibilité (d'où l'intérêt, dans ce cas d'utiliser les noms de commande internationaux). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
onossa Posté(e) le 7 avril 2010 Auteur Posté(e) le 7 avril 2010 Merci pour ta réponse Gile. Bonne après midi. L'expérience est une lanterne qui n'éclaire que celui qui la porte... (Confucius)
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant