iCAx开思网

标题: 关于UF_MODL_edit_set_hide_state函数的问题 [打印本页]

作者: cwx003    时间: 2009-11-6 17:04
标题: 关于UF_MODL_edit_set_hide_state函数的问题
高手帮帮忙了
UF_MODL_edit_set_hide_state(
                                                    tag set,
                                                    int * hide_set)
这是函数的原型,其中第一个参数是要隐藏的特征的tag,是输入
                                   第二个参数表示特征的状态,是隐藏还是显示,即可作为输入,也可作为输出。

现在我的问题就在于第二个参数上,我想设置某一个特征为隐藏状态,已经获取了特征的标识,可是第二个参数作为输入,我设定的值传不进去。
我的代码是这样的
int status=1;
UF_MODL_edit_set_hide_state(feature_set, &status);代码执行后,status的值就变成了0,这样看来第二个参数不像是作为输入。
换成这样也不行
int nnn=1;
int *status=&nnn;
UF_MODL_edit_set_hide_state(feature_set, status); 其实他们是一样的

我实在是没招了,请教高手给于解答,不胜感激
作者: cwx003    时间: 2009-11-7 09:15
有人用过这函数么?指点下
作者: waster    时间: 2009-11-7 13:06
这个函数没用过,但是从函数的说明上看,第二个参数的说明:Integer value for hide state: 1 is for hidden.
Returns the previous state of the feature set
意思是设置1时表示隐藏,但是也要返回一个值,这个值就是隐藏之前的状态,也就是说你的函数执行完后status=0应该表示你设置成功了,而设置之前是不是隐藏状态。
具体没用过,也不知道是不是我分析的这样
作者: cwx003    时间: 2009-11-8 09:46
你分析的还是有道理的。

但是,当它作为输入时呢,设定的值并没有传进去,因为执行的结果特征并没有隐藏。

而且没法判断这个参数是当成输入起作用,还是当成输出起作用。执行完函数后,status=0,我也可以认为它压根就是输出用,是为了获取当前特征的隐藏状态的。
这样的话,我想作为输入,设定了status=1,它也不起作用。

我现在都怀疑这个函数的帮助文档是不是写的有问题呀,就是我怎样判定是作为输入还是输出呢,我设定一个值,跟我获取一个值,咋区别呀
作者: ffhi    时间: 2009-11-9 09:30
4# cwx003
仔细看说明,这是应用于特征组的函数。我认为你用错了函数。




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3