青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1895|回复: 3

[疑难] 请高人帮我看看程序错在哪里。

[复制链接]
发表于 2010-11-26 15:21 | 显示全部楼层 |阅读模式
程序的目的是通过对话框给工作部件添加一个文件属性。编译时提示错在红色部份那里。不知错在哪里,请高人指点。7 U* y5 N' j- M5 r  G* u& w
错误提示:(error C2440: 'initializing' : cannot convert from '' to 'int (__cdecl *)(int,void *,struct UF_STYLER_item_value_type_s *)'
4 i- Z3 h0 v# h" ?# l8 Z+ C        None of the functions with this name in scope match the target type)0 O% E( f  q6 Y! D; a

% _- [  G" d2 _1 {3 M下面是程序内容:3 s$ v: r! D6 \4 Z
#include <stdio.h> 5 O& }# h: c2 R- U% X
#include <uf.h>9 ?4 B/ W9 s  J5 A! b; w
#include <uf_defs.h>
: I7 P* j/ b8 X- H5 T* e#include <uf_exit.h>
8 K1 H7 D7 C8 N, ]#include <uf_ui.h>
+ D  X% S0 M8 F3 d5 B#include <uf_styler.h>
8 W" i! F6 s7 O#include <uf_mb.h> 5 B2 w- }( C& |" l+ S
#include <uf_part.h>
2 u( R/ ?$ c/ T% q7 N6 w* h#include <uf_modl.h>
5 z( d% H- ~" _- {#include <uf_attr.h>8 l/ X6 q  z! }& H
#include <uf_cfi.h>
0 I+ i$ \1 F" E0 ?3 P4 f#include <uf_assem.h>
! `4 S: o2 W3 U5 ?
: H! F  C0 U0 z$ M, z$ ]  x( @#define MY_TH               ("TH")
. }1 U& O' H3 ^: j#define MY_DIALOG_OBJECT_COUNT  ( 1 )2 j$ m/ D0 r# P" [& s9 ~

0 o; ^$ q; J# \+ ^" yint MY_ok_fun(int dialog_id,
; O- [. Z8 [5 @  char *client_data,
) @5 P  \5 e$ z  UF_STYLER_item_value_type_p_t callback_data);
5 |; w0 r) c1 `9 G2 s& J. G9 S3 S( {! _- [0 E$ Z
    int LaunchProDesignDialog( int *response );
" \! u# K4 a- Q3 r1 d/ T2 ?9 Z2 w& r( f* j9 [# B, Z: X5 e
#define MY_CB_COUNT ( 1 + 1 ) /* Add 1 for the terminator */0 `) C4 O0 u# P7 E7 V' u
static UF_STYLER_callback_info_t MY_cbs[MY_CB_COUNT] = 0 f! E# S6 O7 G
{
. A$ a  s1 q; n {UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB, 0, MY_ok_fun},
" h" k& p: y$ ~/ G3 k! D {UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }: g) q/ S" @) g# `0 `1 f0 b
};  Z" x. ]+ j- [+ D+ e/ d% x

; c' ~9 D7 v* r7 o' u3 {+ o6 c' E5 z4 t& d
static UF_MB_styler_actions_t actions[] = {
9 w6 w0 c! U& L1 H7 o    { "att.dlg",  NULL,   MY_cbs,  UF_MB_STYLER_IS_NOT_TOP },. z7 j; K. i9 q2 [* I
    { NULL,  NULL,  NULL,  0 } /* This is a NULL terminated list */& e0 E' Y% X( b! i, `3 u1 s
};( f9 O6 O' ]) O3 B7 |8 O' j% t% J2 e+ F
) \) P- B6 U- @

+ A" p$ `/ J. t; O7 B( pextern int LaunchProDesignDialog( int *response )  y+ ~" v3 n" r
{
5 r) j) O: ^) G8 N    int  error_code = 0;
" N$ R9 z& I" J3 H" ^: J + U7 H# |8 I* y2 S, r( W6 n6 G/ a3 e, R
    if ( ( error_code = UF_initialize() ) != 0 )   m9 v+ F; X# g; n
           return (0) ;
1 J/ Q2 n4 C3 N    if ( ( error_code = UF_STYLER_create_dialog ( "att.dlg",3 E* ?7 b5 R5 [8 F
           MY_cbs,      /* Callbacks from dialog */
8 T- Z" e7 |: |. O           MY_CB_COUNT, /* number of callbacks*/% ^! y& |7 t. K5 u& `- s
           NULL,        /* This is your client data */
# H8 v  {+ P& h) c; c) g/ c& k           response ) ) != 0 )" g- o1 s& L- ^/ H0 \6 N
    {
. o# L' F' B- A8 T$ v8 a          char fail_message[133];8 a) P% R; Z& y' s9 T  }
          /* Get the user function fail message based on the fail code.*/
- h9 i5 j" ]2 ]' ^5 a# R$ w3 b          UF_get_fail_message(error_code, fail_message);
8 Z% s$ U: [- a* L          UF_UI_set_status (fail_message);) P4 c* ^/ ?/ R0 V
          printf ( "%s\n", fail_message ); & U* j5 _# I7 h8 T0 ~1 b9 ^
}' W2 \: j. a  x- C( V7 U
   UF_terminate();                             
- o% R% I' ^7 Q2 I& }. D( d    return (error_code);
8 K0 }7 c1 Q. v$ V4 [5 N. o}
% c6 r3 A: y, d" x2 E% Y2 k
& @$ q  [% U6 F$ Z$ g# n
( N0 {6 j% M$ ~3 F$ T9 e/ @, R int MY_ok_fun(int dialog_id,2 n) C: l0 {7 f+ j7 Z* k9 p  u1 n, J
  char *client_data,8 k) F+ d. o) U! G
  UF_STYLER_item_value_type_p_t callback_data)' O" y; R# e3 d3 o1 i
{
6 T! m  q( ?# {. \' A, m ! e: x# e1 y# G# ?. K5 E; f; b5 A
  UF_STYLER_item_value_type_t data;" A* l; E" q( P* L" _/ N  w
  UF_ATTR_value_t value;- T) `* J9 J0 `! c- v4 `& c

  k/ W1 c( _& k# c3 f
, S; \% S5 J. G* y  if ( UF_initialize() != 0)* _# @2 R' M% o% _, [1 B$ c& b( ]
          return ( UF_UI_CB_CONTINUE_DIALOG );! X4 y3 M' a0 d5 C" R- N; e; k5 c
       data.item_attr=UF_STYLER_VALUE;
1 g( e- J" {4 o; z   data.item_id=MY_TH;
. z& E9 M0 R& c  y/ a) {   UF_STYLER_ask_value(dialog_id,&data);
( h7 C2 K7 h  X0 Y/ A9 r8 x   value.type=UF_ATTR_string;
' Q7 U1 H( X, [3 ^6 [& i" D   value.value.string=data.value.string;# l$ a4 V2 y6 ~
       & P* v( U9 A/ C9 f: C' D
   UF_ATTR_assign(UF_ASSEM_ask_work_part (), "图号", value);# h6 C6 L  m+ T$ h8 l9 r9 y4 c
      UF_terminate ();
. J" Z2 a: b# v return (UF_UI_CB_CONTINUE_DIALOG);  {/ G# C0 |4 n
return (UF_UI_CB_EXIT_DIALOG);' Z8 R, \, y3 C5 w  p9 F9 K
}
 楼主| 发表于 2010-11-26 21:12 | 显示全部楼层
自己顶上去
回复 支持 反对

使用道具 举报

发表于 2010-12-2 16:31 | 显示全部楼层
你没有搞懂菜单激发对话框和菜单激发应用两种激发方式。。。。
" i# U) c! u2 a+ X LaunchProDesignDialog( int *response )函数是一个应用,你这里明显是想用菜单激发应用方式。但是上面却用static UF_MB_styler_actions_t actions[] = { "att.dlg",  NULL,   MY_cbs,  UF_MB_STYLER_IS_NOT_TOP }。。。这是菜单激发对话框的方式,应该改成UF_MB_actions_t actions_table[]={"LaunchProDesignDialog",LaunchProDesignDialog,NULL}7 A$ s. G# |  y, ~% M
同时编写菜单的时候ACTIONS att.dlg变成ACTIONS LaunchProDesignDialog
回复 支持 反对

使用道具 举报

发表于 2010-12-6 14:46 | 显示全部楼层
没有回复呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-9-21 15:27 , Processed in 0.049523 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表