PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

[解决] 用UF_UI_create_filebox()时UG崩溃了

  [复制链接]

2015-5-5 08:36:17 4208 4

文星和合 发表于 2015-5-1 11:53:07 |阅读模式

文星和合 楼主

2015-5-1 11:53:07

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

" K' {8 K& j4 D, D5 r7 d( U7 f/*****************************************************************************
( \3 \! }) N6 u7 Z  P- L3 x+ W**
# [$ I3 L' @& s' {6 P7 k** createfilebox.cpp/ A* ], o# y( H, Y: _
**
: \" j5 V$ W" {: q+ B6 {** Description:1 L5 |# Y  V0 P. {, H, c
**     Contains Unigraphics entry points for the application.
  O" I" ?8 J9 k, o7 O0 _**; S8 f5 ?* v& M; x
*****************************************************************************/
4 u& D$ [9 Z  B7 K) s/ L2 C/* Include files */. C7 U, {+ f/ D, P3 m7 Y
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
' Y  S' w: Y& o: p1 W#   include <strstream>
4 ]" C- V" V+ T9 h- r/ Y' L$ b! u#   include <iostream>3 L# q' I# f% o5 [3 m) i3 f8 w5 D+ J& _
    using std:strstream;
3 ]9 o0 Q# _/ c  s- J    using std::endl;    4 S, s; B, F) t) B9 H
    using std::ends;
8 T# C! d5 }( M0 A0 Z    using std::cerr;
) s/ Q( [+ \) P#else
6 Z9 L* S; D& K% L#   include <strstream.h>
% b5 [6 ?9 G' S. j# Y#   include <iostream.h>6 ~4 ]6 D& b( ?. n# I7 M
#endif
. r$ v$ b7 q7 w' B#include <uf.h>% S8 Z) w: N' \" q
#include <uf_ui.h>& y! c5 L# a7 @1 m0 y8 W
#include <uf_exit.h>
' k' {( g- n) R( p#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
( {6 Y$ S. m5 h" S! i( o6 cstatic int report_error( char *file, int line, char *call, int irc)
+ X4 k4 N+ X2 q9 a/ t. n, @{
5 {8 O! A/ K- M    if (irc); p! M: A) p8 D$ Q' Y: e, i
    {
' E1 S) o0 H0 O% w) f' ~* s        char err[133],
1 j1 C6 w$ F3 ?* |! M             msg[133];. x- p) @8 y3 ~) Z0 _/ v- `& @
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
3 i0 m5 h# h5 o# c6 U# j* ], ~& S            irc, line, file);6 p9 G. Y# O% \- ]4 ~, j! N
        UF_get_fail_message(irc, err);8 N4 B" M' `) u
        UF_print_syslog(msg, FALSE);
4 q9 B7 Y1 @6 L1 d$ F- c/ a! q6 R        UF_print_syslog(err, FALSE);
0 \, D2 ]' N6 y6 [        UF_print_syslog("\n", FALSE);6 T, p' T; f: W9 n" ?8 w
        UF_print_syslog(call, FALSE);- |: X# k1 Q! F- [. r' K. U! a
        UF_print_syslog(";\n", FALSE);( y$ v  T  M3 S3 R/ M
        if (!UF_UI_open_listing_window())( L2 P5 C- T7 _8 ~" Q4 [. K" s
        {
  J) D& A- G5 T9 S! ~# `            UF_UI_write_listing_window(msg);1 I' h6 ~4 D, t9 e3 }
            UF_UI_write_listing_window(err);, |3 R1 P) M7 `2 O+ a
            UF_UI_write_listing_window("\n");  \6 i3 n. k4 P$ z2 C
            UF_UI_write_listing_window(call);
, p3 c3 \. I7 Z3 K" \3 i            UF_UI_write_listing_window(";\n");  N7 \5 D' _$ N3 ^
        }! H* M7 q% Y9 {$ h; z- N
    }$ M4 T$ z  Y% |
    return(irc);
3 l5 w$ w8 F7 i3 K/ E+ e; [}  j% W; y+ s" Z: p0 f9 e
0 D* G4 g% R6 L3 G, m4 f: g
/*****************************************************************************- O! M; m* o" o
**  Activation Methods
: e. b5 }! Y" _& w& F1 x*****************************************************************************/+ u7 h$ r0 L6 m  B
/*  Explicit Activation
9 \0 e& i+ M' V: J( i! w: @**      This entry point is used to activate the application explicitly, as in- e" V& f" h4 b- R) B. d$ V
**      "File->Execute UG/Open->User Function..." */' x; v/ t  E- \: |
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )7 S& C5 @) a5 H
{
0 A  j6 ?$ s% a# K8 S2 `: l    /* Initialize the API environment */
" ~% Y$ x# q. K char prompt_string[]="open file";
, z1 ^4 A. F4 l7 H1 c char title_string[] = "select file";
0 I  ^" B4 d. p# x% l" H char filter_string[] = "*.prt";
& a. _/ u+ X3 W4 H4 | char default_name[] = "my file";
# \- M1 b# O3 S char filename[256];. d/ n$ K( y5 W6 G
int response;
! H* W% K& D) ^    if( UF_CALL(UF_initialize()) ) ) \2 W3 k. a. T( w2 ~# }6 T' n1 X
    {; }, ]% ], ~5 ^3 K4 n& _
        /* Failed to initialize */
- ^1 f: H$ e3 d, D, I" u% ~        return;
; K' u  ~4 y* [! }4 x; _  a    }
0 N/ @% q6 r$ W6 x. M: Z& F1 ~    ) Q+ e* K( V: l- W4 U/ U
    /* TODO: Add your application code here */+ i! d5 V9 Y0 |: V3 i' o
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox
9 A; n3 [, W2 G6 m# E! u  _, Z2 E    /* Terminate the API environment */2 d5 a/ G  y4 A- q- l* o" A2 ^
    UF_CALL(UF_terminate());) e$ n5 o# l. W4 W% [6 ~; B' a
}
4 B* l' Z) \7 D, F0 A/*****************************************************************************
: u" |1 s$ S8 d6 y: Y! J**  Utilities
0 k* w, p6 C3 ~0 a- f. Z0 _*****************************************************************************/( I" y4 }  J  F- `4 Q5 ^
/* Unload Handler
4 y- o& r+ q# H7 H1 Y1 H**     This function specifies when to unload your application from Unigraphics.
8 @! D, ?8 M' i! v% c**     If your application registers a callback (from a MenuScript item or a
% r0 b# v3 n0 ?! Y  D**     User Defined Object for example), this function MUST return5 v3 O, L! o* H
**     "UF_UNLOAD_UG_TERMINATE". */
7 b; ^& K! d& e% G9 B6 F2 o/ [extern int ufusr_ask_unload( void ). v6 \5 x; A7 V
{
! S) w! z0 |% u+ f; u    return( UF_UNLOAD_IMMEDIATELY );
! |' T* R, C" O" Q}
8 R$ f, p6 G$ d% ^. U" V' N  k# P* |/ K1 X
CreateFilebox.png
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

mildcat 发表于 2015-5-2 20:07:06

mildcat 沙发

2015-5-2 20:07:06

UF_UI_create_filebox 我没有试你这个
* S" K! W' T- V  j- i
7 N- y) C8 N5 E3 m& e不过你加个uf_call或者看下syslog 啥问题 . K5 b# }9 a. J7 i6 J9 H% r! S% u

& ~( m9 D; d/ J' J$ }6 P) R
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

文星和合 发表于 2015-5-2 20:18:39

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07( n3 E, D! V5 D( v$ I8 p+ g; r
UF_UI_create_filebox 我没有试你这个
) w/ x5 E8 S, a2 D. A# M8 [; h3 f, d( J9 [* j) A5 E
不过你加个uf_call或者看下syslog 啥问题
& N$ d9 Q3 ~5 S
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
  G3 W* _! N, m4 K" j我想用UF_UI_create_filebox()创建一个打开文件的对话框。UG有别的函数可以创建打开文件的对话框?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

简简单单 发表于 2015-5-5 08:31:59

简简单单 地板

2015-5-5 08:31:59

文星和合 发表于 2015-5-2 20:18
! U2 {$ z( e. r& k0 H1 XUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
9 c. R# C% R$ k* p我想用UF_UI_create_filebox ...

2 P+ {  ^% m  \3 b' }, ]& T
/ A# R$ i' y) G& [/ D#include <uf.h>$ @5 B1 e: E/ b7 n* h+ K6 n4 q
#include <uf_ui.h>
- u, F& m+ A3 I. C5 }#include <uf_exit.h>" i, _- {" p# {" X
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
! ~6 E* u. m. L: e, l7 X{) K! ?3 w- d5 m# k1 _" q
        /* Initialize the API environment */
! u$ m* y5 k& r% I        char *prompt_string="输入文件名";
+ M- H! w3 `; g( }3 i# f! [        char *title_string = "另存为";  L4 F; _+ Q% r2 d
        char *filter_string = "E:\\+*.prt";
# B  j$ U' H5 F8 \        char *default_name = "OK-PRT";' \* s1 Z: Q" C* ]6 M( _2 M' {
        char filename[256];
! N! Z. z* B; [8 N0 i        int response;
) c* G6 u5 v, f        UF_initialize();4 u4 d/ Q8 w; u  D& R
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
6 ^2 m% h- S  K$ _5 [- q  v        if (response ==UF_UI_OK)
1 e; O# v1 f- h4 x! J4 Z                uc1601(filename,1);
  U% |1 [: o' z  [: n  @6 m        else if(response ==UF_UI_CANCEL)5 K# D7 C7 h! n) K+ S5 D) G. Q" \
                uc1601("取消",1);- a# q$ C( X4 q) d, }
        UF_terminate();
* ~8 E; N& R# U* s5 T- h8 p$ C- i}
0 e  F" Y' F) {, f6 uextern int ufusr_ask_unload( void )
' c: G. n" k% y{/ t" W& b5 r' ~6 n  v
        return( UF_UNLOAD_IMMEDIATELY );
3 E! x7 S2 T! c9 ?( c4 s- x! U2 @}

评分

参与人数 1PLM币 +3 收起 理由
admin + 3 很给力!

查看全部评分

上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了