青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 2010-11-26 15:21 | 显示全部楼层 |阅读模式
程序的目的是通过对话框给工作部件添加一个文件属性。编译时提示错在红色部份那里。不知错在哪里,请高人指点。% ?3 s# C. O: U( C% p( U% V6 f
错误提示:(error C2440: 'initializing' : cannot convert from '' to 'int (__cdecl *)(int,void *,struct UF_STYLER_item_value_type_s *)'
) Y) W: ?- o2 _: p        None of the functions with this name in scope match the target type)- P  h( ?+ \& i7 l- a7 m

! l) o1 S0 ~+ h; B4 z/ h下面是程序内容:
. d5 ?7 w3 ~  m! R#include <stdio.h>
) Q4 _. B0 z# g" R0 L#include <uf.h>
7 w0 ^) |" W: _8 m5 W3 C" o#include <uf_defs.h>
6 Y# a& w' U/ u8 ?: `' O6 `#include <uf_exit.h>. e* z. p. W2 C* ~
#include <uf_ui.h>
3 f; D; t7 e) ]9 T#include <uf_styler.h>
+ l9 G. C5 e% i#include <uf_mb.h> : D) ]! s% H7 |
#include <uf_part.h>
. ], m2 @2 l. t+ l8 P1 m7 ]! y#include <uf_modl.h>
+ B* g, a, M" x( x, j- z' _( f% Z#include <uf_attr.h>" _6 S$ r0 z* f; t) f0 R
#include <uf_cfi.h>
; J  X2 c* ^8 _2 W/ N#include <uf_assem.h>
# E4 X# j! ]+ ~4 Q+ |1 `: q3 Y0 B& n$ h% y4 q
#define MY_TH               ("TH")
; k0 ^. v; |4 e4 ]! X#define MY_DIALOG_OBJECT_COUNT  ( 1 )3 q  N- _6 Y* v  q

$ F6 L+ h6 c9 Y) hint MY_ok_fun(int dialog_id,+ p* Q$ ~2 q$ x2 [5 [  z! F* P
  char *client_data,
- v/ j: r( A% }0 H; _  R7 |7 b  UF_STYLER_item_value_type_p_t callback_data);' b. y# Y# j5 z
, `* `- s" I" b2 g2 R* F5 v* R2 g# T
    int LaunchProDesignDialog( int *response );
9 f) H# [1 f- l. q% w4 n7 _1 @
, I- D; R3 A4 D- A6 y#define MY_CB_COUNT ( 1 + 1 ) /* Add 1 for the terminator */
' j9 d2 E9 o1 J/ Z& \static UF_STYLER_callback_info_t MY_cbs[MY_CB_COUNT] = ( y. x0 z5 O8 |2 E+ W1 Y0 w+ P. A8 v
{) R2 |; R! f4 d" l) U8 v
{UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB, 0, MY_ok_fun},   I9 [- v, y* W% d
{UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }3 ?8 b3 L9 J$ B" L3 H0 w4 D
};2 P% k& b% j" i- U- N0 l

( p4 I! U6 o7 i6 Y0 v! n
0 e/ e- x# G4 @0 k- u, K% y# fstatic UF_MB_styler_actions_t actions[] = {/ T' P, y, p. y- _: ]
    { "att.dlg",  NULL,   MY_cbs,  UF_MB_STYLER_IS_NOT_TOP },$ n+ P; ]* H( b0 C! i% W& {' `3 \
    { NULL,  NULL,  NULL,  0 } /* This is a NULL terminated list */# v7 @8 {  u* }  z: `+ Z, F" f" d
};2 ?6 b2 I% w) e) Z8 r1 F5 V- Z
& g; _) s7 k8 d+ [$ `
6 {" \4 m. b4 x- w5 [
extern int LaunchProDesignDialog( int *response )# K- q7 q7 V9 V2 ?2 X
{- ]# l6 d+ h# K: \
    int  error_code = 0;) D' R. x9 n7 i$ T

1 F& I& t8 p0 h) U    if ( ( error_code = UF_initialize() ) != 0 )
1 a3 c4 o2 f: r, s; x- b           return (0) ;; m6 Y$ r* @# X7 v8 ^( N
    if ( ( error_code = UF_STYLER_create_dialog ( "att.dlg",
0 K, U+ _$ C+ Y. p" Y* Q0 K+ N. K           MY_cbs,      /* Callbacks from dialog */
5 \& y: _9 x$ j7 a3 S, b           MY_CB_COUNT, /* number of callbacks*/" c+ R- N6 }. X! c/ E& r
           NULL,        /* This is your client data */
: t3 I3 @2 I9 u/ f2 e4 O" j$ k           response ) ) != 0 )
0 H: \) T, j6 j    {4 ]) X. D3 F1 g) {* E; L
          char fail_message[133];+ H+ x# d, x& r' j2 d
          /* Get the user function fail message based on the fail code.*/
6 f; R; B  W  W5 Y: u          UF_get_fail_message(error_code, fail_message);
0 T! J8 q. N1 ]0 y$ t7 [1 i5 J          UF_UI_set_status (fail_message);
. J' ?9 y! g" a( I          printf ( "%s\n", fail_message ); / C. C$ K- i0 {, F1 h
}
* [" D2 B: p: ~, p2 e# r1 P5 D   UF_terminate();                             9 m+ Y% M$ Y3 I0 |
    return (error_code);
2 m- E4 u( L& O}
9 y( m. ~* ]2 D : Q0 s( d: p- V+ k9 d3 F0 ?
6 t. D0 z' V4 Q+ }
int MY_ok_fun(int dialog_id,5 y5 v& k8 a8 x3 s0 w! p& [
  char *client_data,& u; Q+ V  u/ k6 B
  UF_STYLER_item_value_type_p_t callback_data): b: o: Y2 |  U: |7 d. K
{
" P4 s# v8 c7 r! N" F / L4 k6 i3 s1 _9 q. D
  UF_STYLER_item_value_type_t data;$ q$ J8 @, Z% t! A1 h0 l
  UF_ATTR_value_t value;9 x; {& e$ B, Y+ D/ G; _

0 A  \  k8 U( _. Y5 S % O# c4 L( L2 P" q7 Y1 J
  if ( UF_initialize() != 0)
2 A# V9 D+ a  q  W9 F! T& v          return ( UF_UI_CB_CONTINUE_DIALOG );+ ]9 J( v4 J& `. `
       data.item_attr=UF_STYLER_VALUE;
( R: F( l/ h# ?4 }   data.item_id=MY_TH;
# d7 F3 }5 z, K7 }   UF_STYLER_ask_value(dialog_id,&data);
, b1 ^: d+ X7 F& Q6 z; J   value.type=UF_ATTR_string;
5 B3 G6 |7 |1 F7 n   value.value.string=data.value.string;
3 q* ]; T% ?# Y/ H* r" ^% V      
. e+ X+ W/ M! D9 L0 t! ^2 b, h& S   UF_ATTR_assign(UF_ASSEM_ask_work_part (), "图号", value);
& S% N* L% M9 L1 ?3 N      UF_terminate ();6 K% l# J' t9 {$ X  b- u: }6 f
return (UF_UI_CB_CONTINUE_DIALOG);
$ U$ H+ ?  y0 Z8 n. w4 Z; g0 R* u return (UF_UI_CB_EXIT_DIALOG);- l/ N- u5 r* G1 u: p
}
 楼主| 发表于 2010-11-26 21:12 | 显示全部楼层
自己顶上去
回复 支持 反对

使用道具 举报

发表于 2010-12-2 16:31 | 显示全部楼层
你没有搞懂菜单激发对话框和菜单激发应用两种激发方式。。。。, P# d* k8 B$ j3 W' {1 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}, [0 C4 f* b# ~
同时编写菜单的时候ACTIONS att.dlg变成ACTIONS LaunchProDesignDialog
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-8 17:35 , Processed in 0.139116 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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