(gile) Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Salut, Les fichiers DLL créés avec .NET se chargent dans AutoCAD avec la commande NETLOAD. On peut donc ajouter une expression du type :(command "_netload" "NomDuFichier.dll")dans le fichier AutoCAD.lsp (si le fichier dll n'est pas dans un répertoire des chemins de recherche, stipuler le chemin complet) Une autre méthode, plus élégante, consiste à provoquer leur chargement automatique en ajoutant une clé dans la base de registre dans :HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.0\ACAD-5001:40C\Applications(R17.0\ACAD-5001:40C\ varie suivant les versions)Cette clé doit comporter 4 entrées :DESCRIPTIONLOADCTRLSLOADERMANAGEDdont les valeurs sont, respectivement, une description, 2 (chargement automatique), le chemin complet du fichier dll et 1. (source : Through the Interface) La fonction LISP ci-dessous : DllAutoLoad s'occupe d'écrire tout ça.Elle requiert 3 arguments :- le nom de la nouvelle clé- une description- le nom du fichier DLL ou, s'il n'est pas dans un répertoire des chemins de recherche, son chemin complet. Exemple : (DllAutoLoad "GetFileLisp" "Charger GetFileLisp.dll" "GetFileLisp.dll") ;;; DllAutoLoad ;;; Inscrire une DLL dans la base de registre pour qu'elle se charge automatiquement ;;; ;;; Arguments ;;; key : (string) la clé dans la base de registre ;;; descr : (string) description/commentaire ;;; filename : (string) nom ou chemin complet du fichier .dll (defun DllAutoLoad (key descr filename / fullname) (vl-load-com) (if (setq fullname (findfile filename)) (mapcar '(lambda (k v) (vl-registry-write (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Applications\\" key ) k v ) ) '("DESCRIPTION" "LOADCTRLS" "LOADER" "MANAGED") (list descr 2 fullname 1) ) (princ (strcat "\nLe fichier \"" filename "\" est introuvable.") ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Bonsoir à toutes et tous, Heu, pardonne mon ignorence (gile) , mais ça sert à quoi une librairie DLL exactement ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 janvier 2009 Auteur Posté(e) le 2 janvier 2009 Salut, Une librairie DLL (Dynamic Link Library) contient des ressources ou du code accessible à plusieurs applications.Les langages de programmation comme C, C++, Delphi, dot NET peuvent générer des DLL.L'environnement Windows (donc AutoCAD) utilise très largement les DLL.Les ARX sont en fait des DLL (générées en C++) renomées. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Re, Merci pour ces éclaircissements (gile), des ressources ou du code accessible à plusieurs applications. Aurais-tu un exemple à nous fournir ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 janvier 2009 Auteur Posté(e) le 2 janvier 2009 La plupart (si ce n'est toutes) des applications Windows utilisent System.dll.De même toute les applications AutoCAD développées en dot NET utilisent acdbmdg.dll et acmgd.dll Tu peux voir ici. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 janvier 2009 Posté(e) le 2 janvier 2009 Re, Encore merci à toi, Bonne nuit, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
belam Posté(e) le 3 octobre 2009 Posté(e) le 3 octobre 2009 Salut à tous Bonsoir (gile) Merci pour tes suggestions trés pertinentes, que malheureusement je ne pourrai pas tester (contrainte de temps) mais je les garde sous le coude au cas où .... Effectivement j'aurais peut être du poser ma question sur ce forum plutôt que sur celui de A2010. En réponse à la question de lili2006 Une DLL ou un ARX sont des fichiers compilés qui peuvent contenir une ou plusieurs commandes directement utilisables (comme "PolylineEdit2.dll qui contient les 2 commandes AVX et DVX) ou des fonctions qui peuvent être appelées par d'autres programmes (passé un moment j'avais écrit une DLL en Fortran Power Station qui contenait 2 fonctions que j'appelais à partir d'un programme en Visual Basic). Bonne nuit A+ belam
lili2006 Posté(e) le 4 octobre 2009 Posté(e) le 4 octobre 2009 bonjour à toutes et tous, Merci pour ce complément d'information belam, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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