|
int ROLL_constructor ( int dialog_id,) C& k9 y4 P1 w% Z; {- r' Z
void * client_data,
. u% i" c S$ Z: [ UF_STYLER_item_value_type_p_t callback_data)
1 o, Z, x0 ~3 f$ \3 d% [) K+ }{
6 k; b7 ^. B6 }$ B& l @% t /* Make sure User Function is available. */ 4 G- h) _* ]: |/ w9 k7 t u
char dir[100];
1 \5 d7 c3 J! I/ j8 w const char env[155]="ugII_USER_DIR";6 V3 {7 k7 m* P7 @' b
char *basedir=NULL;
. } s+ Q1 S. d( V tag_t part;9 b9 _: c' @4 V" J
UF_PART_load_status_t error_status;; H( a& W% w% G5 l$ }$ M
basedir=getenv(env);
- r' F: w% ~4 Q0 m& f5 e4 g; T, e
+ k7 ~6 I$ z, q2 R strcpy(dir,basedir);
/ E/ C7 h! z+ }+ o$ H! {+ S U strcat(dir,"\\roll\\J-J 2D.prt");
3 P* G: o+ w) O! m. v if(UF_PART_open(dir,&part,&error_status)!=0)
( W: q. g! H8 f {
+ X* H% D ?9 e/ w UF_free_string_array(error_status.n_parts,error_status.file_names);
- R5 ]! O7 \' c UF_free(error_status.statuses);/ a' R' M* x1 k6 `$ N# s
return(UF_UI_CB_CONTINUE_DIALOG);
0 F! ~8 [2 c7 W) H% b9 R }& E. ~6 w% _+ v" S8 G
UF_free_string_array(error_status.n_parts,error_status.file_names);' F V2 t) ]8 L* D8 D5 Y1 X* ?
UF_free(error_status.statuses);
7 K+ ?5 V6 ], L& B. u! B double arExpValue[2];
# n' W, c2 Q6 Z. ~# q6 J UF_MODL_eval_exp("threeJ_a",&arExpValue[0]);) h6 N, F: |& W- a4 d3 C: F
UF_MODL_eval_exp("threeJ_b",&arExpValue[1]);* A. m0 D/ e) L9 X [- C
# d6 A. ]3 j' Q: u+ O2 w UF_STYLER_item_value_type_t data_set;2 a, R. f3 W: |: A5 X
data_set.item_attr=UF_STYLER_VALUE;
% _9 W) A$ [+ d1 q data_set.item_id=ROLL_A; (此处报错)
4 |; V2 \. H* A% ]+ U* D, l7 k data_set.value.real=arExpValue[0];
. r. O7 r6 z4 q UF_STYLER_set_value(dialog_id,&data_set);, F3 {# @: K+ ?
UF_STYLER_free_value(&data_set);: k& z+ N6 i; O& t1 h' }
data_set.item_attr=UF_STYLER_VALUE;" E5 A9 N; G- N0 a& |
data_set.item_id=ROLL_B; (此处报错) . H/ D) C, N4 E
data_set.value.real=arExpValue[1];; c& V+ o7 p6 p- j$ D
UF_STYLER_set_value(dialog_id,&data_set);. d* Z9 E7 W) L. b( P, k
UF_STYLER_free_value(&data_set);) ?6 I5 ~+ U7 f. D: [
UF_terminate ();4 X. f2 }# Z" W0 Q/ V
/* Callback acknowledged, do not terminate dialog */
9 |0 J+ v6 Q; y+ E& F return (UF_UI_CB_CONTINUE_DIALOG); 7 p: N P) a- \" J" y& `
/* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted *// \* o/ j, j' Q1 ]2 W B7 ]% _
/* for this callback type. You must continue dialog construction.*/& `# F; L9 z; \% z
}
( W" k& E* a5 O& m2 `: V
# q7 c9 C- F4 x( Z+ ^
5 N1 ^5 ]" j1 d( }* Q6 X3 M报错如下:3 @' _) X, Q) n/ B( P5 T; F
E:\roll\roll\threeJ.cpp(438) : error C2065: 'ROLL_A' : undeclared identifier+ E7 k+ ~9 t* e% z1 F
E:\roll\roll\threeJ.cpp(438) : error C2440: '=' : cannot convert from 'int' to 'const char *'/ o, D) F. \$ X
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
1 R: R ^) I3 W: q: E6 j9 CE:\roll\roll\threeJ.cpp(444) : error C2065: 'ROLL_B' : undeclared identifier; @. `2 _! H4 S
E:\roll\roll\threeJ.cpp(444) : error C2440: '=' : cannot convert from 'int' to 'const char *'
4 ]8 M4 O8 M3 a2 R+ e Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast) G4 L; y9 h+ N) x8 X# [; @
其中 ROLL 是文件夹名称. l8 V7 n# s+ f" q' }3 X! B2 e
J-J 2D.prt 是部件名
7 Z& U$ b' {: G+ @$ C2 athreeJ_a( O- U* }/ A6 d; R6 i( b2 o
threeJ_b' p* m# R) N: Q- F
是表达式的两个名称
6 W2 P# W- |* V
/ r2 ?. m; e- nROLL_A% V9 F, ~: b6 S$ U
ROLL_B
3 w2 [6 n2 s+ j$ o; iA和B是UISTYLE的标识符
# t! f( x& U% ]' A$ R
u0 Z0 ^( ^ }1 }' C5 W6 d请教,我这是一个初级的二次开发表达式,我只要定义两个参数化变量,请问我这里的constructor哪里出错?
, [3 }) n$ L Z' J1 g( S# _我这也是参考一个例子编的,它的是五个变量。。
$ k. |% G+ ~& q' ]& r9 t
" Z% m/ U# x+ b: g7 d: O请各位高手能帮我解决这个问题,感激不尽! |
|