乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 42|回复: 2

VL.应用中的几个问题

[复制链接]

16

主题

83

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2011-7-24 01:27:42 | 显示全部楼层 |阅读模式
我创建了一个MFC dll项目,我将为LISP调用创建一个计时器。
实际上,这不是一个ARX项目,所以我没有使用任何ARX函数。我不想用它们。
我用的是“vl.application”。
好了,项目已经编译好了,并且正在运行。有时候是不稳定的。
下面是我的问题:
1。我们如何向
" VL . application function "
传递参数,或者有人能告诉我如何使用

" VARIANT funcall(safe array * Arguments)"

这样:
  1. CDVlApplication vlisp ;
  2. vlisp.CreateDispatch(_T("VL.Application.16"));
  3. CDVlDocument vl_ActiveDocument =vlisp.get_ActiveDocument();
  4. CDVlFunctions vl_Functions = = vl_ActiveDocument.get_Functions();
  5. CDVlFunction vl_Function = = vl_Functions.get_Item(FuncName);

如果一个函数没有参数,我们可以使用:
VL _ Function . funcall(NULL);
没关系。我测试过了。但是怎么才能调用带参数的函数呢?许多年前,Owen提到过类似的问题,但我没有得到答案。
2。为什么定时器会让CAD不稳定?如何避免?如何设置
“尝试...catch"
这是我的项目文件。和一些LISP代码:
  1. (defun callback()
  2.   (setq newViewSize (getvar 'viewsize))
  3.   (if (/= newViewSize OldViewSize)
  4.     (progn
  5.       (setq oldViewSize NewViewSize)
  6.       (princ "\nViewSize has been Changed!Now is: ")
  7.       (princ NewViewSize)
  8.       (princ)
  9.     )
  10.   )
  11. )
  12. (defun c:test()
  13.   (setq obj (vlax-create-object "vlax.timers"))
  14.   (setq oldViewSize (getvar 'ViewSize))
  15.   (setq timer0 (vlax-invoke obj 'SetLispTimer 100  "callback"))
  16.   (princ)  
  17. )

我需要你的帮助,非常感谢。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

jgr

3

主题

22

帖子

3

银币

初来乍到

Rank: 1

铜币
34
发表于 2011-7-24 19:16:10 | 显示全部楼层

我附上了一个例子,使用vb.net+反射,也许这对您有帮助。
回复

使用道具 举报

16

主题

83

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2011-7-25 03:09:50 | 显示全部楼层
谢谢。
是的,我知道 VB.net 可以做到这一点,我还有一个VB示例。但C++不同,我不知道。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 14:35 , Processed in 0.206849 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表