|
程序的目的是通过对话框给工作部件添加一个文件属性。编译时提示错在红色部份那里。不知错在哪里,请高人指点。* o; n' Z! r& H' ?% \+ v7 n+ T' k
错误提示:(error C2440: 'initializing' : cannot convert from '' to 'int (__cdecl *)(int,void *,struct UF_STYLER_item_value_type_s *)'9 P$ c$ Q1 P( M I# V& O M$ h7 m
None of the functions with this name in scope match the target type)
5 t4 d' F& D/ s N( j: {, ~: w& ^3 s% d" r, B- q6 d, c
下面是程序内容:* K7 `5 d" |9 r3 l5 \% J8 ^5 c: b
#include <stdio.h>
, i' A+ [) L$ c0 m0 A#include <uf.h>
& e. {; P* F9 a) p( y: ]#include <uf_defs.h>6 E' A) K! M6 n6 `$ p5 I$ Q( Z
#include <uf_exit.h>" n9 Q4 c4 p; X3 L
#include <uf_ui.h>
# n3 `: G) U# w* K#include <uf_styler.h>0 B; W6 r$ O& v& g" C, h8 s( _8 X! G% ^
#include <uf_mb.h> / a1 I$ d9 f1 }. \/ Y
#include <uf_part.h>& R) U) E V7 |% x' Z7 Q# q& h9 c* s
#include <uf_modl.h>
: Z1 j6 }7 U6 X4 C j#include <uf_attr.h>
$ r, `9 E6 Y, C9 |9 C" h! v#include <uf_cfi.h>
9 ?0 |: N9 ]8 }9 u0 d/ G# k#include <uf_assem.h>- \2 p0 \+ U" ~: V( V" p# x
, s! w. A2 e6 s8 I5 C, q0 f0 ?#define MY_TH ("TH")) b/ R( ~$ o9 H3 J+ Q3 L
#define MY_DIALOG_OBJECT_COUNT ( 1 )
, F; D9 w" K9 h' o $ @2 ~; h; N. b. A9 N" b
int MY_ok_fun(int dialog_id,/ e' A% |! r. j& {& h- }
char *client_data,
3 `+ j$ {+ Y w. `! ~ UF_STYLER_item_value_type_p_t callback_data);! f( s) x) O, h4 f& C D8 L! Z
$ _: r0 x* F1 ]6 v% j5 s; ]7 |
int LaunchProDesignDialog( int *response );
) Q% ^. Y0 g; Z! Q4 E( C* _
6 h# f' b$ S+ I0 n* N; F#define MY_CB_COUNT ( 1 + 1 ) /* Add 1 for the terminator */& Q( ?: D. v5 E
static UF_STYLER_callback_info_t MY_cbs[MY_CB_COUNT] = $ f" p* O# _; r4 ^9 ?9 l
{
( g/ r8 g" w. ]6 R3 f {UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB, 0, MY_ok_fun}, 7 H b, Y/ {( f5 Q8 s8 D5 k+ n
{UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }( O7 Y) P a: G
};. \2 V- D- V+ P
% W7 V+ {1 u; a# [ D
; z3 C( ~; [2 |# n) Bstatic UF_MB_styler_actions_t actions[] = {- e* N* D/ C6 G$ g0 H" a" @: w1 m
{ "att.dlg", NULL, MY_cbs, UF_MB_STYLER_IS_NOT_TOP },; t& C6 g+ K5 o% H
{ NULL, NULL, NULL, 0 } /* This is a NULL terminated list */; J, W/ ?) S5 O* I' R8 F
};2 [, A/ u( o* W8 ?; [5 p
0 {. V, u: m9 s. T
( ]7 \% C, Z& H' A# d L4 Qextern int LaunchProDesignDialog( int *response )# u3 o$ g7 p3 r$ f4 Z* b0 i
{* U5 m! x8 o3 ?; w- ?! P9 H
int error_code = 0;
6 T0 {, T: z: ?, M+ D: a9 L ( I# n/ {2 Y* H+ ^
if ( ( error_code = UF_initialize() ) != 0 )
' u& C; l: u: t, c return (0) ;
5 g, n: w. p# z3 `1 x( n if ( ( error_code = UF_STYLER_create_dialog ( "att.dlg",
8 ]" Y* L; g7 N$ } MY_cbs, /* Callbacks from dialog */: p# [, W4 J* M# l9 h/ x$ S* A7 i2 H
MY_CB_COUNT, /* number of callbacks*/
) g. Y, |% H. u& D$ Z' ?( X! ~ NULL, /* This is your client data */
" F0 @5 i3 ]. f9 B* s# O3 ^- O3 P response ) ) != 0 )' T+ H- e4 j8 o% K8 k
{
# Z! o. \0 o8 m( L# l$ X d char fail_message[133];
0 f# y" {7 ~/ h /* Get the user function fail message based on the fail code.*/; u9 p; u* m* O: w
UF_get_fail_message(error_code, fail_message);1 G: m! Z$ g+ g+ r, x8 K( a
UF_UI_set_status (fail_message);
, [# j4 d0 ~2 @7 Y/ d2 e$ a, \! p printf ( "%s\n", fail_message ); 4 d% D, @ S+ Y6 X0 Q, l" ^- n
}! ~# u/ R, p* ?+ \
UF_terminate();
! O6 t: w. k* X' J- M3 X9 r+ q9 [ return (error_code);
8 ?8 L# ?' _2 P w8 @, x7 v3 {# W}
) X. X* x8 J+ Q7 o; l
r+ `& F1 K- E; C N' q# g4 M - I& v- d/ i; B, r" q+ T
int MY_ok_fun(int dialog_id,6 h% r4 z1 g4 A9 |7 R" e
char *client_data,
9 ^+ h$ C/ e |( i UF_STYLER_item_value_type_p_t callback_data)# y1 a8 J, d' V
{
! X% u; |; Y$ |* g% k6 e
) m. e, x" a% F8 M1 l- Z, Z UF_STYLER_item_value_type_t data;
. B9 u1 W# f3 x3 S% F$ W UF_ATTR_value_t value;
" Q( y" Q) `# p7 V* C5 Y1 Y% y0 z
2 ? j1 [7 @5 T& l6 J- h6 J; b . k( K5 s0 R4 v% Y
if ( UF_initialize() != 0)
2 V; v* \; _6 X+ v6 K return ( UF_UI_CB_CONTINUE_DIALOG );8 Z3 q! W/ K1 a! j' o1 @6 V
data.item_attr=UF_STYLER_VALUE;
# g5 z" q3 f- A/ N data.item_id=MY_TH;
9 @# F6 {5 e* o% ~ UF_STYLER_ask_value(dialog_id,&data);& S2 A+ R; A' w' f l# C: }
value.type=UF_ATTR_string;% p& F1 f4 v( \' [5 z
value.value.string=data.value.string;
) e5 f$ w/ o' N, |+ z2 P, D4 \ % G/ B9 L' k; u- E/ G# g* m. v
UF_ATTR_assign(UF_ASSEM_ask_work_part (), "图号", value);
0 A' q _' {+ l. Z$ Z UF_terminate ();
$ J3 X2 e0 |8 Z; c return (UF_UI_CB_CONTINUE_DIALOG);0 A, n6 P0 o: I7 V& F1 ~/ V4 T
return (UF_UI_CB_EXIT_DIALOG);
2 A+ s+ M6 f, h* a: Y/ {/ ? } |
|