明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1397|回复: 8

两个vb问题

[复制链接]
发表于 2004-5-17 19:35:00 | 显示全部楼层 |阅读模式
1.vb activex dll不支持end语句。请问在dll中还有什么方法能无条件终止程序的运行。


2.在cad2000中打开多个文件时,如何将指定图形设为activedocument.
发表于 2004-5-17 23:20:00 | 显示全部楼层
1、End语句?是Exit语句吧


2、Application.Documents(0).Activate
 楼主| 发表于 2004-5-18 16:34:00 | 显示全部楼层
1 exit只是退出当前的sub,如果是在别的过程中通过call调用此sub就不能结束整个程序了


2. 是要指定文件(不知道顺序)激活,不一定是0.
发表于 2004-5-18 21:19:00 | 显示全部楼层
1、不用sub,用Function,通过判断函数返回值决定是否继续执行


2、指定文件,总要知道什么条件吧,用历遍,比如


For Each i in Application.Documents


if i.FullName=pFileName then i.Activate:exit for


next i
 楼主| 发表于 2004-5-18 21:56:00 | 显示全部楼层
1 我的程序是


sub linkcad()


                                 ........'其他语句,省略


sub end


sub cadtext()


                                                 call linkcad


                                                 ......'其他语句,省略


sub end


我想如果连结cad出错的话就无条件结束程序的执行。按照我的代码,call linkcad出错的话还会继续后面的语句,到不能执行的地方再由系统软件而不是按我的意思弹出错误框,不能方便的提示用户错在哪。
发表于 2004-5-18 22:47:00 | 显示全部楼层
Function LinkCad() As Boolean
Dim Linked As Boolean
'此处连接Cad,并根据是否连接给Linked赋值
LinkCad = LinkCad
End Function
Sub CadText()
If Not LinkCad Then Exit Sub End Sub
 楼主| 发表于 2004-5-19 19:48:00 | 显示全部楼层
看来是没有结束程序运行的方法了。我的cadtext也是别的sub调用的,这种方法不适用。


不过怎么样,多谢了,献花.
发表于 2004-5-19 22:24:00 | 显示全部楼层
如果这样的话,用全局变量控制,将Linked声明为全局变量,每个Sub里第一句判断,如 Sub Sub1()
If Not LinkCad Then Exit Sub End Sub Sub Sub2()
If Not LinkCad Then Exit Sub End Sub
 楼主| 发表于 2004-5-19 22:52:00 | 显示全部楼层
这样的话我的程序可要大改了~


实在不行也只能这样了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 06:29 , Processed in 0.186424 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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