找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 23100|回复: 11
打印 上一主题 下一主题

【求助】ufsta与ufusr的区别?ufsta的用处?

[复制链接]
跳转到指定楼层
1
发表于 2004-2-25 17:48:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
我的理解是:
ufusr为入口函数,是需要用户手工调用才执行,File-->Execute UG/OPEN-->User Function;
ufsta为入口函数,则是在UG启动的时候就自动执行用户定义的dll程序;
  
但我不明白的是,UG启动的时候怎么可能自动去寻找用户自定义的dll文件?
我对ufsta的理解是不是错误的?
如果真的可以实现用户自定义dll文件随UG一起启动,是不是需要设置例如搜索路径一样的东西?
  
向大家指教!
谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-2-25 22:22:13 | 只看该作者
你的理解是对的,为了让UG自动调用,一般都是定义一个环境变量
UGII_USER_DIR, 指向一个路径,并在该目录建立两个子目录startup和application,只要把dll放在startup下,UG就会自动找到。
3
发表于 2004-2-26 10:35:58 | 只看该作者
是不是所有放在startup下的dll都被自动调用,即使是用的ufusr入口函数?
4
发表于 2004-2-26 20:51:21 | 只看该作者
不是,放在startup下,只能确保UG启动时,能够搜索到这些dll,但UG只会执行ufsta中的东西,没有ufsta函数的话,那就什么也不会运行,因为UG对每个exit函数都是有严格定义的,ufsta就是UG一启动运行的,ufusr就是通过菜单运行的,还有其它如点击save时运行的,点击new时运行的,等等。
不管是什么程序,什么入口函数,都应放在正确的位置,让UG在需要时能够找到。至于dll是不是被自动加载,我还不敢确定。
5
发表于 2004-2-27 08:28:11 | 只看该作者
明白了,谢谢版主:)
6
发表于 2004-2-27 10:15:28 | 只看该作者
zzz wrote:
不是,放在startup下,只能确保UG启动时,能够搜索到这些dll,但UG只会执行ufsta中的东西,没有ufsta函数的话,那就什么也不会运行,因为UG对每个exit函数都是有严格定义的,ufsta就是UG一启动运行的,ufusr就是通过菜单运行的,还有其它如点击save时运行的,点击new时运行的,等等。  
  不管是什么程序,什么入口函数,都应放在正确的位置,让UG在需要时能够找到。至于dll是不是被自动加载,我还不敢确定。

也就是说,如果是用菜单调用一个dll的话,那么这个dll一定是用的ufusr函数,并且一定要放在application目录下,对吗?
另外我试了一下,ug运行时,startup下的dll都不能修改
7
发表于 2004-2-27 10:31:35 | 只看该作者
Tyrael wrote:
   
  也就是说,如果是用菜单调用一个dll的话,那么这个dll一定是用的ufusr函数,并且一定要放在application目录下,对吗?  
  另外我试了一下,ug运行时,startup下的dll都不能修改

  
那就是startup下所有的dll都会自动加载,但是因为dll中没有ufsta,所以什么也不执行。
8
发表于 2004-2-28 08:35:08 | 只看该作者
用菜单调用一个dll时,是把dll放在application目录下还是startup目录下要依据这个菜单的创建方式不同而区别。
1.这个菜单是用菜单脚本创建的,那么直接在ACTIONS后加上要调用的dll,此时dll放在application目录下。
2.这个菜单是用MenuScript函数(UF—MB—add—actions等)创建的,则在ufsta()子程序中包含UF—MB—add—actions函数的dll应放在startup目录下,这种情况用于这个dll是用于扩展UG的Gateway功能的(即UG一启动菜单就在主界面的菜单条上显示)时候;当dll是用于扩展UG的应用模块功能时候,dll放在application目录下(带有 menuflie语句的菜单文件要放在startup目录下)。
9
发表于 2004-3-19 21:59:55 | 只看该作者
那能不能卸载dll呢,要不然在调试的时候,总是要退出ug再替换原先的dll才可以,好繁哦
10
发表于 2004-3-20 10:55:27 | 只看该作者
我使用ufusr为入口函数生成的dll放在application下,
可以File-->Execute UG/OPEN-->User Function执行,也可以点击菜单执行。
在这种入口函数下,再次调试程序,可以不关闭上次启动的ug,但是他会再次启动一个ug窗口!
但是在使用ufsta入口函数时,再次调试程序,必须关闭上次启动的ug,才可以链接成功。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-25 22:38 , Processed in 0.026333 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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