Caricare un Lisp dopo l'errore

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Salve a tutti,
quando si cerca di eseguire un lisp senza averlo caricato, si riceve il messaggio :
"CONTATORESTANDARD Comando sconosciuto "CONTATORESTANDARD". Premere F1 per la Guida"
Vorrei scrivere un lisp che, valutando l'errore, carichi il programma desiderato, magari con una condizione.
Grazie a chi mi vuole aiutare ed anche agli altri!
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
(TYPE c:CONTATORESTANDARD) ritorna nil se il comando non esiste.
(IF (TYPE c:CONTATORESTANDARD) nil) (load”miofile”)) CONTATORESTANDARD
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Grazie rpor66,
funziona perfettamente ma con una parentesi in meno :
Codice:
(TYPE C:SCALAIMMAGINI)
(if (TYPE C:SCALAIMMAGINI) nil) (load "C:\\AutocadSupporto\\LispTre\\SCALAIMMAGINI.lsp")
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
l'errore è più esteso....
(if (= (type C:SCALAIMMAGINI) nil) (load"SCALAIMMAGINI"))
 

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
Nella prima versione funzionava, ora in questa no!
Cosa c'è che non va?
Codice:
 (defun C:TUTTO (/)

    (setq DaCaricareX (strcat "C:" DaCaricareX))

    (princ "\nDaCaricareX xxxx ")
    (princ DaCaricareX)
    (princ "\n")

    (cond
        (= DaCaricareX "C:SCALAIMMAGINI"
            (type DaCaricareX)
            (if (= (type DaCaricareX) nil)
            (load "C:\\AutocadSupporto\\LispTre\\SCALAIMMAGINI.lsp")
            (SCALAIMMAGINI)
        );;if
        (setq DaCaricareX nil)
        );;if

    );;cond       

    );;defun
Grazie.
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, CadWorx, Lisp, VBA. YouTube: roberto portuese
Regione: Sicilia
Codice:
(defun C:TUTTO (/)

    (if (= (type "C:SCALAIMMAGINI") nil)
       (load "C:\\AutocadSupporto\\LispTre\\SCALAIMMAGINI.lsp")
    )
    (C:SCALAIMMAGINI)

);;defun