chlh_jd 发表于 2011-4-24 22:03:24

本帖最后由 chlh_jd 于 2011-4-24 22:08 编辑

右键点击文件,点击“注册组件”提示“注册失败,可能缺少必要的支持库”,其他.dll文件可以成功注册;
我没有使用金山毒霸,只使用360安全卫士,关闭杀毒和防火墙后,仍然提示注册失败;
从原网站下载下来的dynwrapx.dll文件一样用不了

highflybird 发表于 2011-4-24 22:13:05

如果注册失败的话,那应该创建不了。你再看看我前面的回帖。

chlh_jd 发表于 2011-4-24 22:14:10

测试了,可以出现hello world消息框

chlh_jd 发表于 2011-4-24 22:15:37

本帖最后由 chlh_jd 于 2011-4-24 22:16 编辑

奇怪,明经帖子显示滞后,我还以为没回复成功,又发重复了

highflybird 发表于 2011-4-24 22:15:55

那就奇怪了,为什么在CAD下运行不了呢?

chlh_jd 发表于 2011-4-24 22:21:24

使用ACAD的VBA编辑器运行也可以

highflybird 发表于 2011-4-24 22:26:00

本帖最后由 highflybird 于 2011-4-24 22:30 编辑

用我以前的那个vlx可以吗?先反注册,regsvr32 /u dynwrapx.dll
再注册regsvr32   dynwrapx.dll

chlh_jd 发表于 2011-4-24 22:32:49

本帖最后由 chlh_jd 于 2011-4-24 22:36 编辑

是个 c:ysx-use-api吗?我试下

可以的,以前c:ysx-use-api可以正常运行

先反注册再注册还是不行

highflybird 发表于 2011-4-24 22:42:38


;;; Install DynamicWrapper
(defun C:InstallDynamicWrapperX (/ wrap name wsh oldVar)
(if (null (setq wrap (vlax-create-object "DynamicWrapperX")))
    (progn
      ;;(setq name (vl-filename-mktemp "DynWrapX.dll"))
      ;;(WriteBinary name (vl-get-resource "DynWrapX"))
      (setq wsh (vlax-Create-Object "wscript.shell"))
      (vlax-invoke wsh 'Run (strcat "RegSvr32.exe /s " name))
      (setq oldVar (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (command "DELAY" "1000")
      (setvar "CMDECHO" oldVar)
      (vlax-release-object wsh)
      (setq wrap (vlax-create-object "DynamicWrapperX"))
      (if wrap
(progn
   (princ "\nRegistered DynamicWrapperX successfully!\n")
   wrap
)
(alert "\nFailed to register DynamicWrapperX!\n")
      )
    )
    (progn
      (princ "\nDynamicWrapperX has been registered!")
      wrap
    )
)
)
;; Install it...
(if (setq wrap (C:InstallDynamicWrapperX))
(progn
    (vlax-release-object wrap)
    (setq wrap nil)
)
(princ)
)

chlh_jd 发表于 2011-4-24 22:57:07

(setq wrap (vlax-create-object "DynamicWrapperX")这个语句返回VLA对象值为nil时
(null wrap) = nil
上面函数总是提示加载成功,实际没有加载成功
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 越飞越高讲堂(2)CAD的API编程指南(上)--DynamicWrapperX