|
int ROLL_constructor ( int dialog_id,3 \1 l3 J" S) c% M* h z
void * client_data,6 K9 k8 H. A( W8 i" m7 N% \
UF_STYLER_item_value_type_p_t callback_data)% o2 G5 y! Q7 C2 {% c: P" J" j
{
8 ?$ K5 v+ G8 Q# I: ~1 ` /* Make sure User Function is available. */
# a7 Z: A# {8 g2 Q. _+ r char dir[100]; 7 B( x& N; e: e
const char env[155]="ugII_USER_DIR";* D1 p( W# U$ `
char *basedir=NULL;
. I8 [, C- t4 ]' x; J tag_t part;
5 L) P+ u) p% Q: j+ n6 a UF_PART_load_status_t error_status;8 d: A* T) K* z/ ^2 O, c, b4 |, t
basedir=getenv(env);7 q/ L) }" M8 V) a; e: B7 d
* s6 w: Q* G1 d9 ~6 b7 ~7 ? strcpy(dir,basedir);
$ x* K1 V! j! n8 D strcat(dir,"\\roll\\J-J 2D.prt");
; Y; L, r! J9 [! ~ if(UF_PART_open(dir,&part,&error_status)!=0)! w: x4 E2 q( Y7 z' [
{
8 c! z2 Y! V' w: n: G3 A UF_free_string_array(error_status.n_parts,error_status.file_names);6 K" X+ A2 n5 p/ L6 n
UF_free(error_status.statuses);( K8 n! z: z- m- k0 \* k" Q! @
return(UF_UI_CB_CONTINUE_DIALOG);
+ G( I# v" \- i. t8 Z- K2 v) }- q }4 A" [ V2 }5 k. i/ m8 B
UF_free_string_array(error_status.n_parts,error_status.file_names);5 B9 R% b- D6 Z
UF_free(error_status.statuses);
& y* l0 k& |1 J: w double arExpValue[2];
* x. c7 D& }7 I UF_MODL_eval_exp("threeJ_a",&arExpValue[0]);
% U/ f0 X# g+ z6 w' L8 V UF_MODL_eval_exp("threeJ_b",&arExpValue[1]);
! `1 `8 q' Z+ T9 R" m* Z+ `& \ # K6 n, C1 }% s; x) t
UF_STYLER_item_value_type_t data_set;6 }5 {+ E) q3 P* R$ J
data_set.item_attr=UF_STYLER_VALUE;; ]) N0 N4 P. q' ^
data_set.item_id=ROLL_A; (此处报错)
# D& X. K8 z6 ]0 r! I data_set.value.real=arExpValue[0];
; h+ y! \$ w4 |7 I$ \' ^ UF_STYLER_set_value(dialog_id,&data_set);
( r" Z; v& G( k. s/ E3 c4 p6 W2 _7 j UF_STYLER_free_value(&data_set);4 p: N4 m; z% i5 t8 E+ A" c. s2 O
data_set.item_attr=UF_STYLER_VALUE;8 Q; F9 P, m) g! X; A
data_set.item_id=ROLL_B; (此处报错) 0 C( L- T8 z1 q
data_set.value.real=arExpValue[1];
3 P w9 _6 m# U2 V' a$ t UF_STYLER_set_value(dialog_id,&data_set);2 \+ i+ M% l1 A: M% H
UF_STYLER_free_value(&data_set);
8 }$ S# s r0 T+ t' b6 U UF_terminate (); O& D9 r8 O; j& ]1 v& x" E
/* Callback acknowledged, do not terminate dialog */& l1 \3 d9 }+ \! J
return (UF_UI_CB_CONTINUE_DIALOG);
7 p( p# X* Y' \6 Y) ]( R, _% H /* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted */ \4 n8 j' L, ^" V
/* for this callback type. You must continue dialog construction.*/
/ R( k* l4 d! t: B- c) Q}
2 W# z( G9 W6 {* c! h/ e0 E0 h! m6 a2 d6 i# i
% _+ A q5 c2 S0 r' k6 R报错如下:
. \/ @# Z. K+ m9 K; d* uE:\roll\roll\threeJ.cpp(438) : error C2065: 'ROLL_A' : undeclared identifier
# r6 s, @3 E$ ~7 ^9 YE:\roll\roll\threeJ.cpp(438) : error C2440: '=' : cannot convert from 'int' to 'const char *'/ ^) X+ N- o' L; \# W8 _
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast* C6 q# S! y5 K/ u" f$ J9 e; G
E:\roll\roll\threeJ.cpp(444) : error C2065: 'ROLL_B' : undeclared identifier" K- J9 l: w% L
E:\roll\roll\threeJ.cpp(444) : error C2440: '=' : cannot convert from 'int' to 'const char *'
f. l; ?* G6 f' ^ Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1 W4 y6 J. {/ ]6 O8 A, |7 Y其中 ROLL 是文件夹名称# ]" d5 ~- R& ]+ O
J-J 2D.prt 是部件名
: T3 W! {) Q9 KthreeJ_a
5 \' W C+ a0 {9 `7 S. w* d0 mthreeJ_b S" l \. ^8 ^ I( [) _
是表达式的两个名称 H, l5 S% Z3 _
8 I5 P: A' h u$ v* d* E
ROLL_A9 D3 h8 x, \+ A+ u1 h/ A
ROLL_B
1 l ]& L# G8 h6 U: Q( zA和B是UISTYLE的标识符
' n6 z! R1 M! x9 i% d: _* g% M: P) o. U5 Q8 P C% Z) n u
请教,我这是一个初级的二次开发表达式,我只要定义两个参数化变量,请问我这里的constructor哪里出错?
$ d1 z* Q, L4 [! v w我这也是参考一个例子编的,它的是五个变量。。) ^8 i! d6 [2 q" N& K4 l6 G e
% }7 Y# ]- j; ]) S* U% ]$ w请各位高手能帮我解决这个问题,感激不尽! |
|