青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2010-11-26 15:21 | 显示全部楼层 |阅读模式
程序的目的是通过对话框给工作部件添加一个文件属性。编译时提示错在红色部份那里。不知错在哪里,请高人指点。4 R8 \; A, ]* ~" \, E
错误提示:(error C2440: 'initializing' : cannot convert from '' to 'int (__cdecl *)(int,void *,struct UF_STYLER_item_value_type_s *)'
, E, ~3 N5 N* N, U! L        None of the functions with this name in scope match the target type)+ w% I, @1 f% }% ^- c
  y9 u# o" D/ y% E
下面是程序内容:& m0 U9 C: u( G# R
#include <stdio.h>
% u& p; ?' U% l. P#include <uf.h>4 g/ ~/ ?; V- V
#include <uf_defs.h>) ^% C6 U1 j: k  k
#include <uf_exit.h>* H" S, ^; X' ~
#include <uf_ui.h>, H: d8 P. g* F* Q( ~! S$ o
#include <uf_styler.h>/ }4 i3 c+ K3 {( ^
#include <uf_mb.h> $ X. k  z5 q+ ~/ M' m" H" i
#include <uf_part.h>( Z% N# N* h' a* y1 Z2 S6 e6 s  h/ I
#include <uf_modl.h>
+ \9 Q* K: _" M+ C#include <uf_attr.h>
: A/ r# Q8 r; R" C. D8 p#include <uf_cfi.h>
  v" {: ^& |# s  Y7 K$ y/ b#include <uf_assem.h>
0 F7 [" ?: Q: V, E& Y' Z# ]
1 B  J  s& r: N" f, F#define MY_TH               ("TH"). g- ?( p3 m3 T2 K6 o1 E6 M
#define MY_DIALOG_OBJECT_COUNT  ( 1 )
8 I+ R" H& T1 u , x4 p: `' E% Z* j" ~4 _
int MY_ok_fun(int dialog_id,
& B2 o3 [: I! B' L# f3 b  char *client_data,3 ?* X( ?. H: J- B) P5 f' |  J
  UF_STYLER_item_value_type_p_t callback_data);
! K6 l3 u; G3 l/ ?5 h# M; G4 l& f/ G7 x6 m# z( ]5 ]% u; `7 @1 [
    int LaunchProDesignDialog( int *response );2 ?4 p0 s5 P" w$ l/ [# s/ ~. ]
' E! a  R0 h) h, c
#define MY_CB_COUNT ( 1 + 1 ) /* Add 1 for the terminator */
, B, ]/ N; Z5 f$ A0 T$ Dstatic UF_STYLER_callback_info_t MY_cbs[MY_CB_COUNT] = , r. V& L: C  G5 `! K/ e
{
  |' l; U" ^9 O. l- D! F {UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB, 0, MY_ok_fun}, # S6 _3 |8 i2 g
{UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }1 v! v' o; A( E+ }- V; r5 b
};
; s2 E2 z" K* V5 k1 Q6 p; v5 p: b7 o3 D1 l

$ R# G/ X9 f) t8 Q& f4 y" zstatic UF_MB_styler_actions_t actions[] = {
& F5 K- W* D# F' y9 W* Y    { "att.dlg",  NULL,   MY_cbs,  UF_MB_STYLER_IS_NOT_TOP }," v0 U  `, J7 R. t6 F
    { NULL,  NULL,  NULL,  0 } /* This is a NULL terminated list */
! H4 [3 k! o! L# Q' n};8 a, I6 H( M% F4 d) K$ E
+ W+ v' y6 q& t

8 H& i1 A, L* s# Nextern int LaunchProDesignDialog( int *response )
, n8 I2 z- g5 H: L6 n3 x0 }4 H{
0 [. s4 r1 ?1 Q3 F# ]  K, i    int  error_code = 0;3 ?/ c$ k$ V9 o4 L; F$ m6 G
! J2 P& ?$ I/ d4 Q: W3 [- n" p
    if ( ( error_code = UF_initialize() ) != 0 ) ' X# t* B$ N! g- i
           return (0) ;
% \: D& b  Y  X/ [- c) u    if ( ( error_code = UF_STYLER_create_dialog ( "att.dlg",
8 o2 C4 z9 C8 [5 [- Q; R           MY_cbs,      /* Callbacks from dialog */8 M5 M& K: U7 X  i4 U- u) ?
           MY_CB_COUNT, /* number of callbacks*/
) @7 e6 N% T- h7 p           NULL,        /* This is your client data */
- J$ T% |) J4 X9 V  n# S- O) ~. A# r- s           response ) ) != 0 )
- }: g: H# N3 x) m* z- ]7 @; D    {; Z2 N; V( S( X) U6 l. D3 i5 \
          char fail_message[133];
4 d; {$ c; L: A: s% O6 Z3 t          /* Get the user function fail message based on the fail code.*/
9 Y$ y0 g, U! o& @: V5 v5 l) \          UF_get_fail_message(error_code, fail_message);& k$ [" G. j, m7 W) e+ M! q( m4 u
          UF_UI_set_status (fail_message);/ J1 w  [2 e' J& W1 H% Z
          printf ( "%s\n", fail_message );
' A; ?4 p6 R) A, m7 J0 w) r8 p# H+ \}0 j( s8 e" O) E8 z' B& [
   UF_terminate();                             
1 a' y5 |5 a8 N1 J5 e: C    return (error_code);) d) x7 v" L. P& s
}
: ~0 I1 b& M4 z/ H1 K5 f , R0 G) x. j3 O$ J

/ `5 Z* Q6 n8 L3 D7 w" D. Q4 q* }: z int MY_ok_fun(int dialog_id,
. T2 j4 Q) t8 c- N3 W  char *client_data,
3 J! E# Y/ {; T  UF_STYLER_item_value_type_p_t callback_data)" a. @6 Z& F0 z( J7 J
{% W5 S" k  s9 x2 \9 T4 x# {9 K' J

0 x# ?, I: Y# B7 b7 B9 a  UF_STYLER_item_value_type_t data;0 Y. q: I! l% o1 I
  UF_ATTR_value_t value;3 f- v' h9 _( P* w+ X
) t0 @8 ?/ x4 [3 k% @3 P# m

2 b! b6 D3 J' t  if ( UF_initialize() != 0)  @# [' H0 E! L& g" l8 D
          return ( UF_UI_CB_CONTINUE_DIALOG );
6 G- o' u+ @" @( x$ @" I       data.item_attr=UF_STYLER_VALUE;
9 W5 d$ b' h( A) l8 v, x   data.item_id=MY_TH;5 o$ c: b/ O& {; z& u2 E
   UF_STYLER_ask_value(dialog_id,&data);" _7 l' N' s+ J/ o9 f* M' O+ e
   value.type=UF_ATTR_string;
- p: _+ r$ w, P6 }9 c4 b0 K# Z0 Z   value.value.string=data.value.string;
7 p1 s) W0 o4 E* w/ r& N6 O       # L7 _& ?2 _, O+ B: f  Q3 R
   UF_ATTR_assign(UF_ASSEM_ask_work_part (), "图号", value);2 M' }3 i/ e# U. i6 w4 x
      UF_terminate ();
8 Z0 y! ]7 V& d6 r. O return (UF_UI_CB_CONTINUE_DIALOG);7 C3 E5 I0 ], p- c3 u. o
return (UF_UI_CB_EXIT_DIALOG);
0 y- m. h) l) l) k9 `7 { }
 楼主| 发表于 2010-11-26 21:12 | 显示全部楼层
自己顶上去
回复 支持 反对

使用道具 举报

发表于 2010-12-2 16:31 | 显示全部楼层
你没有搞懂菜单激发对话框和菜单激发应用两种激发方式。。。。9 w. I# @6 [1 r1 E1 [1 z
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}3 }  W* u- `+ Z% z
同时编写菜单的时候ACTIONS att.dlg变成ACTIONS LaunchProDesignDialog
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-8 13:15 , Processed in 0.071618 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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