明经通道 发表于 2012-10-26 21:23:37

第七章 对象操作函数

第七章 对象操作函数Visual LISP提供了一系列用于创建、操控和关闭ActiveX对象的函数。这通常是对外部应用程序会话对象而言的,但它同时也可以适用于任何外部进程对象,如DLL或OCX接口。
(vlax-get-object program-id) 尝试连接到存在的对象(进程),与Visual Basic/VBA函数GetObject (program-id)相同。
参数:Program-ID – 字符串,应用对象类标识符的名称。例如“Word.Application”或“Excel.Application”。
示例:(setq xlapp (vlax-get-object “Excel.Application”)) 成功时返回外部Excel应用程序进程的vla-对象,否则返回nil。
(vlax-create-object program-id) 尝试创建一个新的对象会话(进程)。与Visual Basic函数CreateObject (program-id)相同。
参数:Program-ID – 字符串,应用程序对象类标识符名称。例如“Word.Application”或“Excel.Application”。
示例:(setq xlapp (vlax-create-object “Excel.Application”)) 成功时返回新的外部Excel应用程序进程的vla-对象,否则返回nil。
(vlax-get-or-create-object program-id) 尝试先连接到存在的对象会话,然后,如果找不到,就尝试创建一个新的对象会话。这个函数在Visual Basic中没有对应的函数,它是Visual LISP中特有的。
参数:Program-ID – 字符串,指应用程序对象类标识符名称。例如“Word.Application”或“Excel.Application”。
示例:(setq xlapp (vlax-get-or-create-object “Excel.Application”)) 成功时返回外部Excel应用程序对象的vla-对象,否则返回nil。
(vlax-write-enabled-p object) 如果object可以修改则返回T,否则返回nil。
备注:请小心该函数。在对象实际上是开放可修改状态下,有时它会返回False。
参数:Object – 任何Vla-对象
(vlax-object-erased-p object) 如果object在图中已经被删除则返回T,否则返回nil。
参数:Object – 任何代表图元对象类型的vla-对象。
(vlax-release-object object) 从内存中释放对象。它不是重新分配内存。当释放一个指向外部应用程序会话的对象时,这里强烈建议使用(gc),它能从操作系统资源中强行释放外部进程。
参数:Object – 任何vla-对象。
警告!尽管对象符号是局部的,函数用完后不一定要释放对象的资源。但还是建议当已经不需要这个对象时可使用该函数以确保释放对象。然而,需要提醒的是,既使是释放了由外部应用程序驱动的对象,它也可能没有从内存或操作系统进程堆栈中被全部释放。最好是在你完成代码后释放所有不再使用的对象,然后再调用(gc)函数去强制回收内存堆栈。

smartstar 发表于 2012-10-27 13:14:31

学习。老大辛苦了。

AbnerXk 发表于 2012-10-31 20:15:35

支持~~~继续学习中~~

jyzas 发表于 2013-7-19 07:08:27

楼主多发几个其它函数

jyzas 发表于 2013-8-1 23:52:11

楼主,还有没有更多的内容呢

aihuyujian 发表于 2013-11-20 19:42:22

zhichizhidhichi

ltrliu 发表于 2015-8-11 11:14:16

新人学习中

zlzxtfl 发表于 2016-6-10 14:51:33

好好学习,抽象,但学习Vlsp,离不开他

libo2000 发表于 2020-3-8 01:54:04

调用后如果修改图元并保存?

丶吟游诗人灬 发表于 2023-4-8 16:40:18

感觉 vlax-get-object 跟vlax-create-object 是多余的直接用vlax-get-or-create-object就好了吧
页: [1]
查看完整版本: 第七章 对象操作函数