Aller au contenu

DosLib VS VLA


Fraid

Messages recommandés

Bonjour,

 

Je voudrai savoir si il existe un equivalant en vla de la fonction dos_isacad64

 

qui permet de savoir si l'autocad installé est la version 64bit

 

je sais qu'il suffit d'un (and(vl-string-search "C:\Program Files (x86")(vl-string-search "C:\Program Files\AutoCAD 2010"))

 

mais cela fonctionne que pour autocad 2010 et windows xp

 

Merci de vos lumieres

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Sur mon portable (Windows XP 32 bits, AutoCAD 2007 et 2010 32 bits),

(getenv "PROCESSOR_ARCHITECTURE") retourne "x86".

 

Sur mon poste fixe (Windows 7 64 bits, AutoCAD 2007 32 bits et AutoCAD 2011 64 bits),

(getenv "PROCESSOR_ARCHITECTURE") retourne "AMD64".

 

L'astuce que j'ai lue sur "TheSwamp" (et ailleurs) pour déterminer si la version d'autoCAD courante est une version 32 ou 64 bits est d'évaluer la longueur de la "chaîne" retournée par (vlax-get-acad-object).

 

(strlen (vl-princ-to-string (vlax-get-acad-object)))

retourne 47 sur 2011 64 bits

retourne 39 sur 2007 ou 2010 32 bits

 

Donc, je ferais plutôt :

(if (  64
 32
)

 

 

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Salut,

 

;;; DirBox -Patrick_35-

(defun DirBox (Message Chemin Drapeau / rep sh)
 ;; Valeur du Drapeau
 ;; 0 = Valeur par défaut
 ;; 1 = BIF_RETURNONLYFSDIRS = Seulement les fichiers système
 ;; 2 = BIF_DONTGOBELOWDOMAIN = Interdit d'explorer en dehors du domaine
 ;; 4 = BIF_STATUSTEXT = Inclure un secteur de statut. La fonction de rappel de service peut placer le texte de statut en envoyant des messages à la zone de dialogue. Ce drapeau n'est pas soutenu quand BIF_NEWDIALOGSTYLE est indiqué.
 ;; 8 = BIF_RETURNFSANCESTORS = Seulement les sous Dossiers
 ;; 16 = BIF_EDITBOX = Inclure une commande d'édition dans la zone de dialogue
 ;; 32 = BIF_VALIDATE = Vérifie si l'utilisateur dactylographie un nom inadmissible dans la boîte d'édition
 ;; 512 = BIF_NONEWFOLDERBUTTON = Ne pas inclure le bouton Créer un nouveau dossier
 ;; 4096 = BIF_BROWSEFORCOMPUTER = Autorise à parcourir le réseau
 ;; 8192 = BIF_BROWSEFORPRINTER = Seulement le choix d'une imprimante
 ;; 16384 = BIF_BROWSEINCLUDEFILES = Montre tout

 (setq sh (vlax-create-object "Shell.Application"))
 (if (setq
rep (vlax-invoke sh 'browseforfolder 0 Message Drapeau Chemin)
     )
   (setq rep (vlax-get-property (vlax-get-property rep 'self) 'path))
   (setq rep nil)
 )
 (vlax-release-object sh)
 rep
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Merci (Gile)

 

J'avais bien cherché avec vlax-invoke, mais n'ayant trouvé dans "l'aide" du Développeur

 

que vlax-invoke-method....

 

Difficile de progresser seul en vlisp

 

Heureusement que vous etes la !!

 

Par contre

 

;; 4 = BIF_STATUSTEXT = Inclure un secteur de statut. La fonction de rappel de service peut placer le texte de statut en envoyant des messages à la zone de dialogue.

Ce drapeau n'est pas soutenu quand BIF_NEWDIALOGSTYLE est indiqué....

 

Secteur de statut ????

 

en envoyant des messages à la zone de dialogue??? Comment?

 

BIF_NEWDIALOGSTYLE ne fait pas parti de la liste des drapeaux :exclam:

Lien vers le commentaire
Partager sur d’autres sites

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é