Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Nguyen Hoanh

Lỗi: Automation Error. Invalid extents Cannot invoke (command) from *error* without prior call to (*push-error-using-command*) trong ACAD 2015

Các bài được khuyến nghị

Mình sử dụng lisp cũ trên AutoCAD 2015 và bị báo lỗi. Mình đã tìm ra cách khắc phục, viết lên đây để mọi người khi bị bệnh tương tự thì có thể khắc phục.

 

Biểu hiện:

Báo lỗi:

 

Automation Error.

Invalid extents Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).
Converting (command) calls to (command-s) is recommended.

 

Nguyên nhân:

AutoCAD 2015 không cho phép gọi hàm command trong hàm *error* (hàm bẫy lỗi).

 

Giải pháp:

Đổi hàm command thành command-s trong hàm bẫy lỗi *error*, nhưng do hàm command-s chưa xuất hiện ở các phiên bản sớm hơn, ta phải làm lồng thêm một cấu trúc như sau:

Gốc:

(command "ABCD")

 

Sửa thành

(if (null command-s) (command "ABCD") (command-s "ABCD"))

 

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Các bác cho e hỏi nếu lisp cũ đã được chuyển sang đuôi .fas, bây giờ lên cad 2015 báo lỗi  Cannot invoke (command) from *error* without prior call to (*push-error-using-command*) thì có cách gì để sửa cho hết lỗi không ạ?

Cảm ơn các bác nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình viết trong cad 2015 nếu để (command ..) thì vẫn chạy nhưng khi nhấn ESC thì hiện thông báo như trên.

Có mấy cái thì báo lỗi luôn. Nó là file *.Fas nên chắc bó tay rồi.

Cho hỏi Command và Command-s khác nhau như thế nào vậy mọi người?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×