明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: highflybir

[【高飞鸟】] 越飞越高讲堂(2)CAD的API编程指南(上)--DynamicWrapperX

    [复制链接]
发表于 2011-4-24 22:03:24 | 显示全部楼层
本帖最后由 chlh_jd 于 2011-4-24 22:08 编辑

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

发表于 2011-4-24 22:13:05 | 显示全部楼层
如果注册失败的话,那应该创建不了。你再看看我前面的回帖。
发表于 2011-4-24 22:14:10 | 显示全部楼层
测试了,可以出现hello world消息框
发表于 2011-4-24 22:15:37 | 显示全部楼层
本帖最后由 chlh_jd 于 2011-4-24 22:16 编辑

奇怪,明经帖子显示滞后,我还以为没回复成功,又发重复了
发表于 2011-4-24 22:15:55 | 显示全部楼层
那就奇怪了,为什么在CAD下运行不了呢?
发表于 2011-4-24 22:21:24 | 显示全部楼层
使用ACAD的VBA编辑器运行也可以

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-4-24 22:26:00 | 显示全部楼层
本帖最后由 highflybird 于 2011-4-24 22:30 编辑

用我以前的那个vlx可以吗?先反注册,regsvr32 /u dynwrapx.dll
再注册regsvr32   dynwrapx.dll
发表于 2011-4-24 22:32:49 | 显示全部楼层
本帖最后由 chlh_jd 于 2011-4-24 22:36 编辑

是个
  1. c:ysx-use-api
复制代码
吗?我试下

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

先反注册再注册还是不行
发表于 2011-4-24 22:42:38 | 显示全部楼层

  1. ;;; Install DynamicWrapper
  2. (defun C:InstallDynamicWrapperX (/ wrap name wsh oldVar)
  3.   (if (null (setq wrap (vlax-create-object "DynamicWrapperX")))
  4.     (progn
  5.       ;;(setq name (vl-filename-mktemp "DynWrapX.dll"))
  6.       ;;(WriteBinary name (vl-get-resource "DynWrapX"))
  7.       (setq wsh (vlax-Create-Object "wscript.shell"))
  8.       (vlax-invoke wsh 'Run (strcat "RegSvr32.exe /s " name))
  9.       (setq oldVar (getvar "CMDECHO"))
  10.       (setvar "CMDECHO" 0)
  11.       (command "DELAY" "1000")
  12.       (setvar "CMDECHO" oldVar)
  13.       (vlax-release-object wsh)
  14.       (setq wrap (vlax-create-object "DynamicWrapperX"))
  15.       (if wrap
  16. (progn
  17.    (princ "\nRegistered DynamicWrapperX successfully!\n")
  18.    wrap
  19. )
  20. (alert "\nFailed to register DynamicWrapperX!\n")
  21.       )
  22.     )
  23.     (progn
  24.       (princ "\nDynamicWrapperX has been registered!")
  25.       wrap
  26.     )
  27.   )
  28. )
  29. ;; Install it...
  30. (if (setq wrap (C:InstallDynamicWrapperX))
  31.   (progn
  32.     (vlax-release-object wrap)
  33.     (setq wrap nil)
  34.   )
  35.   (princ)
  36. )

发表于 2011-4-24 22:57:07 | 显示全部楼层
(setq wrap (vlax-create-object "DynamicWrapperX")这个语句返回VLA对象值为nil时
(null wrap) = nil
上面函数总是提示加载成功,实际没有加载成功
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 13:33 , Processed in 0.187144 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表