Đến nội dung


Hình ảnh
- - - - -

[Thảo luận] - Kiểm soát lỗi (có thể) phát sinh khi người dùng nhấn Esc để thoát lệnh


  • Please log in to reply
44 replies to this topic

#41 ThuyLinh313

ThuyLinh313

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 288 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 22 July 2013 - 09:59 AM

Mình tiếp tục update phương pháp kiểm soát lỗi. Các hàm mới tối ưu hơn, gọn gàng hơn, thuật toán cao cấp hơn và quan trọng là kiểm soát lỗi tốt hơn 2 phương pháp trước. B)

Cách sử dụng:

(defun c:tenlenh (/ lst-var biến_cục_bộ_khác)

(setq lst-var (start-defun danh_sách_biến_hệ_thống)

........... nội dung lisp..........

(done-defun lst-var)) ;end

defun start-defun (lst-var / err)
 (setvar "cmdecho" 0) 
 (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object)))
 (setq err *error*
       *error* (lambda (msg)
                (redraw)
                (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))
                (vl-cmdf "u")
                (setq *error* (car lst-var))))
 (list err (mapcar (function (lambda (x) (list x (getvar x)))) lst-var)));end


(defun done-defun (lst-var / )
 (mapcar (function (lambda (x) (setvar (car x) (cadr x)))) (cadr lst-var))
 (setq *error* (car lst-var))
 (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))
 (princ));end

  • 0

#42 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 22 July 2013 - 03:24 PM

Thuật toán cao cấp... bình thường !
Anh k biết nó chạy thực tế ntn nhưng nhìn qua cũng biết nó k thể dùng được với trường hợp có sử dụng reactor trong lisp.
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#43 ThuyLinh313

ThuyLinh313

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 288 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 22 July 2013 - 04:19 PM

Là thế nào? nghĩa là sao?  :huh:


  • 0

#44 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 22 July 2013 - 07:11 PM

Lười vậy?
nghĩa là hàm trên không có tác dụng với reactor chứ sao. Chỉ thao tác undo không thôi thì không thể xóa được 1 reactor khi nó đã được tạo ra. Kể cả khi không thiết lập nó ở trạng thái bền vững.
em cứ thử nhét 1 hàm tạo reactor vào giữa 2 hàm trên của em. sau khi tao xong reactor, nhấn esc để thoát rồi dùng lệnh RRA của anh kiểm tra mà xem nó có được gỡ khỏi bản vẽ không.
  • 1

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#45 ThuyLinh313

ThuyLinh313

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 288 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 23 July 2013 - 09:48 AM

:P Mình đang bận chứ không phải lười nhé. Xác nhận đúng là undo không thể loại bỏ reactor.

Thôi kệ. Cadviet không nhiều người sử dụng reactor nên mình không viết cho reactor nữa. Ai có nhu cầu mà gặp khó khăn thì có thể liên hệ mình


  • 0