建议: 上面的文件中对DBX库文件的支持只局限于AXDB15.DLL,如果要适用于其它版本的CAD,则更改源代码,我想到一个办法,可以使它通用: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;注册DBX对象 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (DEFUN XET-REGISTEROBJECTDBX (/ DBXSERVER DBXSERVERS CADVER CADVERSTR DBXCLSID) (SETQ CADVER (VLA-GET-VERSION ACADOBJECT)) (SETQ CADVERSTR (SUBSTR CADVER 1 2)) (SETQ DBXSERVERS (IF(NOT(FINDFILE "AxDb.dll")) (FINDFILE (STRCAT "AXDB" CADVERSTR ".DLL")) (FINDFILE "AxDb.dll") ) ) (COND ((SETQ DBXCLSID (VL-REGISTRY-READ (STRCAT "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument." CADVERSTR "\\CLSID"))) ) ((NOT DBXSERVER) (ALERT "请在确认以下文件在支持文件搜索路径中: (AxDb.dll)") ) (T (STARTAPP "regsvr32.exe" (STRCAT "/s " DBXSERVER)) (OR (SETQ DBXCLSID (VL-REGISTRY-READ (STRCAT "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument." CADVERSTR "\\CLSID"))) (ALERT "注册 ObjectDBX ActiveX 服务失败.") ) ;_ 结束OR ) ) ;_ 结束COND (IF (= 0 (STRLEN DBXCLSID)) (PRINC "\n注册 ObjectDBX ActiveX 服务失败.") ) ;_ 结束IF DBXCLSID ) ;_ 结束DEFUN |