明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2199|回复: 3

lisp与dll

[复制链接]
发表于 2004-10-23 04:32:00 | 显示全部楼层 |阅读模式
请问一下,lisp与dll如何连接???
发表于 2004-10-23 05:58:00 | 显示全部楼层
getinterfaceobject and then invoke the methods in your DLL
 楼主| 发表于 2004-10-23 22:59:00 | 显示全部楼层
我初学这一部分内容,能否给个范例
发表于 2004-10-24 08:05:00 | 显示全部楼层
用法:_$ (vlax-variant-value (vbStrCat "Hello " "World!"))
"Hello World!"
  1. ;;;************************************************************
  2. ;;; Filename: vbStringClass.LSP
  3. ;;; Author:     David M. Stein
  4. ;;; Date:         3/2/02
  5. ;;; Purpose:   Demonstrates use of imported DLL functions within
  6. ;;;                     Visual LISP functions
  7. ;;;************************************************************(vl-load-com)(defun vbStrCat (string1 string2 / acad vbstrcls out)
  8.    (setq acad (vlax-get-acad-object))
  9.    (setq vbstrcls
  10.        (vlax-invoke-method acad
  11.          "getInterfaceObject" "vbStringClass.vbStrings"
  12.        )
  13.    )
  14.    (setq out
  15.      (vlax-invoke-method vbstrcls
  16.        "StrConcat" string1 string2
  17.      )
  18.    )
  19.   (vlax-release-object vbstrcls)
  20.   (vlax-release-object acad)
  21.   out
  22. )(defun vbStrRev (string / acad vbstrcls out)
  23.    (setq acad (vlax-get-acad-object))
  24.    (setq vbstrcls
  25.        (vlax-invoke-method acad
  26.          "getInterfaceObject" "vbStringClass.vbStrings"
  27.        )
  28.    )
  29.    (setq out
  30.      (vlax-invoke-method vbstrcls
  31.        "StrRev" string
  32.      )
  33.    )
  34.   (vlax-release-object vbstrcls)
  35.   (vlax-release-object acad)
  36.   out
  37. )(defun vbStrVer ( / acad vbstrcls out)
  38.    (setq acad (vlax-get-acad-object))
  39.    (setq vbstrcls
  40.        (vlax-invoke-method acad
  41.            "getInterfaceObject" "vbStringClass.vbStrings"
  42.        )
  43.    )
  44.    (setq out
  45.        (vlax-invoke-method vbstrcls "StrVer")
  46.    )
  47.   (vlax-release-object vbstrcls)
  48.   (vlax-release-object acad)
  49.   out
  50. )(defun vbmathadd ( int1 int2 / acad vbstrcls out)
  51.    (setq acad (vlax-get-acad-object))
  52.    (setq vbstrcls
  53.        (vlax-invoke-method acad
  54.            "getInterfaceObject" "vbStringClass.vbStrings"
  55.        )
  56.    )
  57.    (setq out
  58.        (vlax-invoke-method vbstrcls "mathadd" int1 int2)
  59.    )
  60.   (vlax-release-object vbstrcls)
  61.   (vlax-release-object acad)
  62.   out
  63. )

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-11-18 11:22 , Processed in 0.198575 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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