我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD2008

在AutoCAD中程序化加載.NET程序集的方法(1)

時間:2010-01-23 23:45:32 來源:
除了提到的用.NET程序實現的方法外,另一種用LISP加載.NET的程序集的方法由來已久。思路是用lisp語言程序化調用“Netload”命令,代碼也比較簡單,速度也還可以,示例如下:

(defun c:LOADNET()
(command "netload" "E:/documents/DotNetFile.dll")
(command "LOADNET")
(princ)
)

  如果要加載的*.dll文件中正好也有一個名為"LOADNET"的目標命令,那么當第一次輸入"LOADNET"命令時,程序會先netload那個dll文件,然后執行其中定義的"LOADNET"目標命令;接下來再輸入"LOADNET"命令時,程序會“忽略”lisp的命令,進而執行dll文件中定義的"LOADNET"目標命令。這從表面看起來有點兒像“喚醒加載”,其實偶感覺每運行一次命令,CAD都要加載一次dll程序集,還是有差別的。

小結一下:

  (1)這兩種加載方法都可以實現dll程序的批量后臺加載;
  (2)這兩種加載方法在執行之前都要先加載原始的命令文件(第一種要加載主dll程序,第二種要先加載一下主lisp程序);
  (3)這兩種方法加載后的dll程序同樣無法進行“卸載”,直到你關了AutoCAD;
  (4)相比較來講,偶更傾向于用注冊表來控制.NET程序集的加載,因為反正無法卸載,還不如我一開始都把文件給加載全了,而且通過注冊表還可以實現真正的“喚醒加載”方式。