AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Oo-2-110 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ia15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ziao1510 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 BPl3tjj [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Uos15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Uos15011

[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數

向下

[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Empty [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數

發表 由 naruto018 于 2018-08-21, 09:07

關於LISP中的函數有定義卻顯示錯誤是未定義函數
載入LISP後就直接顯示
;錯誤:no function definition: SELMENU

代碼:
(defun c:test-1070821 ( / *error* pickfirst Sum)
    ;;取得設定的系統變數
    (setq pickfirst (getvar "pickfirst"))
    ;;設定系統變數
    (setvar "pickfirst" 0)
    ;;錯誤處理
    (defun *error* (err)
 ;;恢復設定的系統變數值
 (setvar "pickfirst" pickfirst)
 (princ (strcat ";錯誤:" err))
 )
    (setq Sum 0)
    (SelMenu)
    ;;恢復設定的系統變數值
    (setvar "pickfirst" pickfirst)
    ;;;結束;;;
    (princ)
    )

(defun SelMenu ( / sc );;;循環選單;;;
    (initget 0 "增減數值(C),C 歸零數值(R),R 放置文字(T),T 放置數值(RT),RT 放置文字和數值(TRT),TRT 結束(Q),Q")
    (setq sc (getkword "\n 繼續選取物件或[增減數值(C)/歸零數值(R)/放置文字(T)/放置數值(RT)/放置文字和數值(TRT)/結束(Q)]"))
    (cond
 ((= sc "增減數值(C)")(K:CalculationRF))
 ((= sc "歸零數值(R)")(progn
 (setq Sum 0)
 (SelMenu)
 )
 ((= sc "放置文字(T)")(K:PlaceO 0))
 ((= sc "放置數值(RT)")(K:PlaceO 1))
 ((= sc "放置文字和數值(TRT)")(K:PlaceO 2))
 ((= sc "結束(Q)")())
 (t (K:SelCal))
 )
;;; (princ)
    );;;結束;;;


naruto018 在 2018-08-21, 13:14 作了第 2 次修改
naruto018
naruto018
中級會員
中級會員

文章總數 : 148
年齡 : 27
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 1910
威望值 : 299
注冊日期 : 2016-11-29
藍鵲726號
男 摩羯座 羊

回頂端 向下

[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Empty 回復: [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數

發表 由 Tiger&蘋果爸 于 2018-08-21, 09:39

建議以後可以使用 VLISP (指令) ,透過 Visual LISP 互動式開發環境來寫程式。
因為最後面少了一個「括號」,Visual LISP會幫你加上去就ok囉
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 2018_013
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 2018_012

■VLISP (指令)
可使用 Visual LISP 對 AutoLISP 程式進行開發、測試以及除錯。
會顯示 Visual LISP IDE (互動式開發環境)。
註: 使用 VLIDE 指令來傳送對 Visual LISP 的控制權。它執行的功能和 VLISP 指令相同。

相關文章 >> AutoLISP 與 Visual LISP 概述

____________________________________________________________________________________
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Oo-2-110 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ia15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ziao1510 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 18384
年齡 : 43
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 70976
威望值 : 13564
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Empty 回復: [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數

發表 由 naruto018 于 2018-08-21, 13:14

原來是少了一個括號導致錯誤
我以為少括號會直接顯示缺少右括號錯誤
而這次是顯示未定義錯誤
所以沒想到會是缺少括號導致 火冒三丈

我是有用IDE編輯器
但是我對裡面功能沒有很了解 頭暈目眩
原來可以利用 適用選項 這個功能來確認是否左右括號相對

另外想問一下
如果有這種多個函數的LISP
要如何測試?
我是用載入LISP方式測試
有其他方法嗎?
簡短程式碼可以用主控台測試
多個函數好像不行
是我方法錯誤?還是要用一些方法才行
naruto018
naruto018
中級會員
中級會員

文章總數 : 148
年齡 : 27
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 1910
威望值 : 299
注冊日期 : 2016-11-29
藍鵲726號
男 摩羯座 羊

回頂端 向下

[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Empty 回復: [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數

發表 由 Tiger&蘋果爸 于 2018-08-22, 16:24

naruto018 寫到:原來是少了一個括號導致錯誤
我以為少括號會直接顯示缺少右括號錯誤
而這次是顯示未定義錯誤
所以沒想到會是缺少括號導致

我是有用IDE編輯器
但是我對裡面功能沒有很了解
原來可以利用 適用選項 這個功能來確認是否左右括號相對

另外想問一下
如果有這種多個函數的LISP
要如何測試?
我是用載入LISP方式測試
有其他方法嗎?
簡短程式碼可以用主控台測試
多個函數好像不行
是我方法錯誤?還是要用一些方法才行
多個函數的LISP,我的方法通常會先分開測試,然後再逐一組合測試
認同

____________________________________________________________________________________
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Oo-2-110 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ia15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ziao1510 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 18384
年齡 : 43
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 70976
威望值 : 13564
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Uos15011 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Uos15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 BPl3tjj [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ziao1510 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Ia15010 [已解決][問題]關於LISP中的函數有定義卻顯示錯誤是未定義函數 Oo-2-110