PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x
0 x4 K( w2 i- F6 ^
/****************************************************************************** I/ R% c$ ~4 `, R' J  p! P
**! y9 ?3 O1 ?/ _
** createfilebox.cpp8 o' r9 D; w. @2 q! _
**
2 R' m8 ]: n& r, ?1 d' B. e8 X! _** Description:
( E( L: K4 J: D" y7 w7 \**     Contains Unigraphics entry points for the application.
8 w$ S$ P6 s0 i! P% U# F**
- P( Y5 V0 E8 a9 Y- f*****************************************************************************/
  O) z& {$ E. r! c9 ^8 I/* Include files */
7 Z. f; I- u4 j* P#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
5 W( [% o/ U' D, y% b: M0 @% u5 `#   include <strstream>4 G4 J- O4 H$ G& e, z' G
#   include <iostream>
2 W" p7 J1 w- w* x9 ?5 o    using std:strstream;* ]/ y/ R; E3 D8 n. y% t/ [  S
    using std::endl;    8 O: C6 H8 @: \& _$ v, o- m" R
    using std::ends;
/ @* `: N, L, P$ y! S    using std::cerr;
5 I& \, y2 k4 e( T* j1 A#else# f) Y% v5 l) ^+ J9 q
#   include <strstream.h>& p& W# m: N* d& K- M
#   include <iostream.h>( H5 x4 C1 D6 A1 n( o
#endif: F1 \' Y' d8 \
#include <uf.h>
9 L: O) B. f* J" R) z; K1 e#include <uf_ui.h>
0 D$ N! D! @, m2 j3 K! U#include <uf_exit.h>
! i2 ^; B8 H9 v# C3 O#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
, a0 X2 b6 m% Y; e6 i$ ]static int report_error( char *file, int line, char *call, int irc)9 l; {$ U. C4 k: l& \  `( B
{& }/ I3 U0 i) e0 i8 \% V
    if (irc), X1 y% a, o9 ]* x* R' L4 E% `  W
    {! ]0 j( t: C' Q& l+ e' n/ [
        char err[133],1 s" |+ Q) D7 k; I, ?
             msg[133];2 }, {, D5 D4 m0 x8 j; _7 Z
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
+ {# p; S% B9 y! [) ]0 X* T: u            irc, line, file);
0 h/ |( O8 i5 J# H7 q; ^        UF_get_fail_message(irc, err);
% C3 \; i# a5 w% Q; @. r7 v        UF_print_syslog(msg, FALSE);2 ]) E- \  F/ M5 |( {
        UF_print_syslog(err, FALSE);6 X/ d+ _! _, O% e9 s/ {  A
        UF_print_syslog("\n", FALSE);. ?) u9 `# F! s
        UF_print_syslog(call, FALSE);& d/ h' n- T, V" h, V$ ^
        UF_print_syslog(";\n", FALSE);
7 _% @2 C! u8 P: S( H# ^2 J        if (!UF_UI_open_listing_window())
0 s' I9 N; s9 O5 N) b* Z        {! W1 u  b+ @0 \9 X  T$ A/ F, ?
            UF_UI_write_listing_window(msg);
+ @; n  R+ Q7 d' d0 S$ m5 _            UF_UI_write_listing_window(err);" q* ^$ x- e' i+ J- a
            UF_UI_write_listing_window("\n");. m+ ?4 k0 r" t
            UF_UI_write_listing_window(call);
0 y, z6 z7 k2 m9 z$ g0 W  S            UF_UI_write_listing_window(";\n");0 i. C  g+ _/ }( \( u
        }
4 \- S4 I) D2 A) V$ i/ @    }
9 Z1 H9 s$ k; T* M. A    return(irc);
! \2 }" ~) B( ?$ U8 V}1 r* |( T* x% c

5 k0 F6 G* E: t( j5 G/*****************************************************************************
' n2 d; W/ ]) [' X4 b8 x2 B**  Activation Methods
3 k9 L- w3 h& h. B, s*****************************************************************************// S  q( k! S5 ^* T
/*  Explicit Activation! q. F9 l+ N0 W' U& M
**      This entry point is used to activate the application explicitly, as in  X7 ^& I9 C/ c; `2 O& Y/ ~
**      "File->Execute UG/Open->User Function..." */
& i- j: B/ m7 s1 i" F* T' _extern DllExport void ufusr( char *parm, int *returnCode, int rlen )) n7 B& s8 a: U# G
{
$ q2 \4 v# a- g; f* ^. a# }    /* Initialize the API environment */# U. U0 Y5 `! p0 P
char prompt_string[]="open file";% t% h( S% C2 M! h' l& \6 n5 A1 N
char title_string[] = "select file";# u* Z; C0 l6 ^2 y" B+ X  l
char filter_string[] = "*.prt";
% c( U/ o2 ]2 M( O5 I# G/ r char default_name[] = "my file";
8 O+ Z1 M' f7 `. [ char filename[256];) b% Q, P% G& l# J# m5 ~8 B" A
int response;
: h! ~# V; s: h; V' I    if( UF_CALL(UF_initialize()) ) 2 q5 ?( w* d2 N1 n; w* `4 l- n
    {
& t$ f( _/ p) W$ G( E        /* Failed to initialize */
/ v: I( }( m7 o" ], Y        return;
) J( i/ ~8 h+ k5 A9 }    }
0 {$ d& H4 M+ o; S8 o   
) p7 |' s3 o, u& P4 I" P8 Q    /* TODO: Add your application code here */
4 Q. _3 R9 i0 _6 _ UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox7 `3 M. ~8 f7 ^# x: X" D# K
    /* Terminate the API environment */
9 l. ]+ n( c/ a% i2 k    UF_CALL(UF_terminate());
# w5 ]1 E5 ^, D5 V}) o2 v! P9 l5 P4 S* u: A9 c% r/ k  A
/*****************************************************************************
. n# Y" b7 ]1 ]3 h**  Utilities3 i5 }# [4 H& m3 c' h
*****************************************************************************/
6 h3 s& I+ \1 o) b( w/* Unload Handler2 J0 [  Z8 c. n6 S: x* }; S
**     This function specifies when to unload your application from Unigraphics.% ~: i5 |- n0 d4 V' p3 I7 s
**     If your application registers a callback (from a MenuScript item or a3 `+ ?# s) r" m4 T. T& i8 z
**     User Defined Object for example), this function MUST return: t+ g0 w' z6 u$ `
**     "UF_UNLOAD_UG_TERMINATE". */
! s5 o/ g4 ?( [9 M. O  Eextern int ufusr_ask_unload( void )
7 |( ~" f7 |9 n% F( R# g& x# m- z{, c& q1 D4 @) D! `
    return( UF_UNLOAD_IMMEDIATELY );
3 M& d. r7 b; F% M. e3 F}0 j) u& |  x  y% w- d
2 x2 U+ L& ^3 B0 u+ J0 V9 v/ o
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 我没有试你这个 / e& o+ _; e" D) x1 \

: W' O# u( R6 K4 }不过你加个uf_call或者看下syslog 啥问题
* l2 M" h% {, l# w8 S+ }9 f% c6 r- {$ F) X& f% t9 z
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
* E% w5 J+ L+ j6 h1 hUF_UI_create_filebox 我没有试你这个 ! Z8 x$ j4 W. b& T8 L6 o* k$ ?
, [' j. U: a0 n5 Y
不过你加个uf_call或者看下syslog 啥问题
$ l$ s% N7 ]" A1 _9 S% G
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
7 U. M" E8 g! Z. S- K$ C2 K我想用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:181 S+ B5 q# g+ j: Q6 c
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
/ E6 ?2 j: e- j2 b我想用UF_UI_create_filebox ...
2 ~0 j2 M) I) {: x5 h( M! c
2 B2 V4 |+ p' I
#include <uf.h>
+ b  b0 k3 `: _1 {) p: y6 w#include <uf_ui.h>
! r* T6 T( J+ r6 c- [#include <uf_exit.h>
) p; b, R5 J9 p9 r4 s: T6 {extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
7 N* T6 U7 t* e+ e/ M% z{
+ k5 N/ |  W: B) T% l8 e        /* Initialize the API environment */
# P" e( F9 d$ i* n& m7 A        char *prompt_string="输入文件名";
# \7 T% s: P: y4 z" h6 b: K4 {9 O) D        char *title_string = "另存为";
6 e3 \. X6 W5 r+ C+ R        char *filter_string = "E:\\+*.prt";
' K! o7 ?4 k$ s/ \' R7 }        char *default_name = "OK-PRT";
" o  Z- E; z* e        char filename[256];
( {+ n8 L: Z9 h+ O        int response;
  ?+ s/ [, [( W% F! U" g% `        UF_initialize();2 v4 f6 F- m& u: c  \
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
2 r! t" b- D. p/ K/ S        if (response ==UF_UI_OK), E# Q  ^- j0 F* \9 K$ Q
                uc1601(filename,1);
7 y0 S# x. U2 z; @0 A5 E+ z! \, p        else if(response ==UF_UI_CANCEL)
- n+ |. I$ C, g5 P, g" _! g! n9 Z" d                uc1601("取消",1);5 o+ L; ^4 p8 P( Y
        UF_terminate();7 y( r% n1 S3 H5 |5 d
}
4 Z) Z% ]' h' p' L% I) fextern int ufusr_ask_unload( void )
" o4 A: p- y+ I; X{
- Y& ]2 i3 e0 T: W/ R& P        return( UF_UNLOAD_IMMEDIATELY );
: X1 h, r' R9 l( ?8 B}

评分

参与人数 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二次开发专题模块培训报名开始啦

    我知道了