这是对选项赋值(如果是初始化的话)
char *supplier[]={"DME","富力",
"HASCO","MISUMI","RABOURDIN","STAUBLI"};
UF_STYLER_item_value_type_t data;
data.item_attr=UF_STYLER_SUBITEM_VALUES;
data.item_id=HOLE_OPTION_SUPPLIER;
data.value.strings=supplier;
data.count=6;
UF_STYLER_set_value(dialog_id,[$data)]
你的问题似乎是动态赋值(指针的指针如何赋值的问题)
可以这样处理(只是处理方法之一)
char ** pStr;
char str[10][132]={"aaa", "bbb", "ccc", "ddd"};
pStr=new char * [10];
for(int i=0; i<10; i++)
pStr=str;
然后将pStr赋给data.value.strings,你也可以改变str中的值,strcpy(str[1], "tets");,或者开始对str不初始化,现在用strcpy,or, sprintf etc.. 赋值
data.value.strings=pStr;
用完后释放空间,也许系统会释放?,如果运行没有错误,还是释放的好!
delete [] pStr;
这在UG二次开发中用到的比较多,所以希望这对其他人也有所帮助。 |