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 4435 4

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x
' _1 z4 x- J# V6 x9 F
/*****************************************************************************. u* a$ s! B5 I. U- ]8 m
**
6 d, J! m/ ~5 y** createfilebox.cpp
4 ^4 X& s! w, t1 W**$ k* e6 J- M( x
** Description:
" Y; n' c  |1 y  \* `**     Contains Unigraphics entry points for the application.
1 F) e* a2 U2 Q+ A7 i7 M3 [% {**
" T$ f/ c" B. n8 v*****************************************************************************/
, T7 u: w. _! Z8 \- J5 D/* Include files */" F% Y1 N7 F4 O2 H
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
2 r! I  g* ?/ i. C- ^" s#   include <strstream>8 }2 ]1 K. G- M2 B, q5 V( `4 K0 \
#   include <iostream>; I3 n6 L# H  n3 x
    using std:strstream;
  L- f* Y' J' k. N    using std::endl;   
, W" `. w2 y( `+ s1 }7 y; Y( s    using std::ends;
) c: p4 F) O7 q, }& v/ T1 l0 r    using std::cerr;
! \9 P9 T2 R5 w#else
8 y/ l2 h% W5 ^- ~2 M) |#   include <strstream.h>0 k5 I6 J: Z2 S
#   include <iostream.h>) {# a' I* u  b" L
#endif
/ a. e4 M. r/ a! x  N8 y  X#include <uf.h>* W/ A, [0 W% f1 K* M' \
#include <uf_ui.h>1 `- p9 A6 S9 l) `
#include <uf_exit.h>$ R  b8 s5 b1 u: E8 V( }
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))" \% `! u. L* i% Z# c
static int report_error( char *file, int line, char *call, int irc)8 n5 e) x( L( X, }# ~
{
3 r5 N, t) S$ `2 A* [6 ^    if (irc)
. c$ l3 u; G( W" I$ C7 o    {+ J$ C$ l& T4 A! I5 C
        char err[133],
# b8 S1 n. K- i) V5 i             msg[133];1 P7 L4 {3 ?; G# d# c. G3 i) J
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",  I% F$ a" Q$ v% S+ B7 Z3 v
            irc, line, file);
2 L( Q% a* c4 b, m        UF_get_fail_message(irc, err);
; [. F5 B" a! h" V- X  i, F% Y        UF_print_syslog(msg, FALSE);
8 K4 b8 c6 T+ M. u3 H        UF_print_syslog(err, FALSE);/ I- c3 y( o$ @+ w+ K: L' Q
        UF_print_syslog("\n", FALSE);
* h# ?! N( k" G) o9 d, A        UF_print_syslog(call, FALSE);/ V- F& b# M% O/ B) _9 U9 {
        UF_print_syslog(";\n", FALSE);: X  B1 `% Q4 x# Z( `! ~1 w
        if (!UF_UI_open_listing_window())
3 l! k  L: h4 m/ V' e9 ^% m: [( {        {5 q1 w2 K* E! c; P0 a% J2 ^* |
            UF_UI_write_listing_window(msg);
5 \: Q  A; x$ b# x3 R: N: d6 {            UF_UI_write_listing_window(err);
/ {  r3 s( |, i+ \$ V" h            UF_UI_write_listing_window("\n");5 L4 b6 O8 v6 ?( l3 p
            UF_UI_write_listing_window(call);
- h7 i8 }2 t) q/ U! y            UF_UI_write_listing_window(";\n");
" s& s5 V; p: ^: N( k0 s        }
) U, M/ e% I0 v  _- B7 _4 c    }! P* G% R& x% m  A, ]
    return(irc);
8 y! h0 L9 Z1 O$ c% l% C}
0 }" C. y3 x( i1 `: b' l* {& z6 V5 V3 N: I7 G/ p5 Z4 Y
/*****************************************************************************( H0 r1 ^! n( p0 l/ o1 V6 G- k
**  Activation Methods2 s% {8 y) b  _8 R
*****************************************************************************/  E3 l4 t' f- G* s. t/ p1 ]( Z
/*  Explicit Activation2 Q0 E' e- I9 Z& s5 L2 F
**      This entry point is used to activate the application explicitly, as in0 [7 W! U, Q' x. q8 n
**      "File->Execute UG/Open->User Function..." */9 [2 z3 v$ |7 U
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
* i4 L# n  D$ p2 D{# {+ L3 g7 r2 |3 r8 c3 S
    /* Initialize the API environment */3 S& w1 h$ Y9 [# N
char prompt_string[]="open file";
9 U8 l, j- W" C( D0 P char title_string[] = "select file";
1 }3 ~! y) g4 T char filter_string[] = "*.prt";5 ?6 }. U: B+ N/ D' L. Y- o- R$ A
char default_name[] = "my file";1 X% k. S0 Y2 O# \6 a
char filename[256];
% V; f, r2 l7 w# q int response;& |7 N6 d' w; H: m; M
    if( UF_CALL(UF_initialize()) ) ; P3 t9 E; `& r3 J% J" Z
    {
' P' \) x- v- p2 G! D, U$ M3 u7 d        /* Failed to initialize */! e5 ?: A7 j7 o& y" ~: c; H7 w& A
        return;8 G( A( C1 @+ N; ^2 c# Q# y: e
    }
2 Y2 \. m6 Z9 N4 V: h    9 x" O2 r- s( X3 j- Y
    /* TODO: Add your application code here */
! [8 P/ @3 K. Q* V- ?- Q+ w UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox/ Q; T; u0 ^5 r/ T
    /* Terminate the API environment */
! Q0 s/ u1 N3 L7 ^. ?    UF_CALL(UF_terminate());9 Y0 y+ N" N9 [$ J+ J. d. E
}, u& B9 `/ B) _0 R3 c" G
/*****************************************************************************7 v# k/ l+ E, a3 R- }; {
**  Utilities
2 U- H" R( w6 B*****************************************************************************/
4 |# h& `* c9 |3 G# @$ r0 s/* Unload Handler
1 H7 o0 c# K- }9 m# J6 j) m! A# C' O**     This function specifies when to unload your application from Unigraphics.
4 w! p7 o; b: K* I, Z( ^* a6 g2 S0 W**     If your application registers a callback (from a MenuScript item or a4 s( ^& H  H: ~* H& U
**     User Defined Object for example), this function MUST return" J. ^7 B9 G6 H6 A  ^6 ]
**     "UF_UNLOAD_UG_TERMINATE". */. A/ `" i3 z) w7 C
extern int ufusr_ask_unload( void )
4 C& x$ R+ \7 r. f" c{' K, v) t) [' t5 b) P7 c  s
    return( UF_UNLOAD_IMMEDIATELY );* \; X1 s0 R& a% k/ n* h
}- W8 b! z- V: }: S4 i. |
! q( a' M; \3 D. d; R
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 我没有试你这个 $ |4 O9 R9 }" S: D$ W, O6 B

+ H- n5 K  I9 @2 a, Y4 [' q不过你加个uf_call或者看下syslog 啥问题
! i+ r0 G( z; i6 _4 ]& Q: N4 D+ P
. S# Y' @/ j! {" D' d# m
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07( R% @! m$ h! ^2 D" [
UF_UI_create_filebox 我没有试你这个 " G5 X' S+ Y5 S* A  k. R
. [" X# o/ x- n( }
不过你加个uf_call或者看下syslog 啥问题

! l' w* Q# k$ PUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
7 @5 [/ o. d2 }; b  L, q* A我想用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
& R! V" y" ^+ C7 `7 x6 vUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
+ t& F0 S4 t# C. B+ Z: }我想用UF_UI_create_filebox ...
/ F0 m: e6 \# X) n$ y
" F- E+ H2 G, i  U0 S" g2 P5 N, h
#include <uf.h>
) l9 `+ t! c4 o0 u#include <uf_ui.h>4 c5 H6 I. n9 ~) b% I) _) O& `
#include <uf_exit.h>
+ C: B" Z5 m' bextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
- F5 ]4 y7 w. d- g  K0 Z{& i9 e3 V4 m" \! c# d9 a3 B/ z
        /* Initialize the API environment */9 \+ _3 p" W  L& m+ C3 f/ V- f) h
        char *prompt_string="输入文件名";4 V$ a8 X* i* w6 o8 B; w
        char *title_string = "另存为";$ m+ W2 z8 m& T9 t% g/ G0 ?3 C; Z
        char *filter_string = "E:\\+*.prt";* A% S4 U  C7 g
        char *default_name = "OK-PRT";2 \) z5 z  a8 O% l0 b' `
        char filename[256];
/ t8 I) L# G. x& @4 ^        int response;
2 J- q$ Q" I# ?        UF_initialize();8 t! k9 e. X( l# O  E) `& W- I3 u
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);4 g, f4 @& t) d- b- n9 r/ ~' V& @, `0 }
        if (response ==UF_UI_OK)$ P7 a9 \: z: F3 M
                uc1601(filename,1);
9 w2 Q, n, @1 j5 T, v- }! r$ M        else if(response ==UF_UI_CANCEL)1 r% T# o- H0 e# v
                uc1601("取消",1);
8 p4 h# G$ ^- h3 F" `% U' B; L: a        UF_terminate();
: [2 W9 a8 Y9 v4 r0 R}
- {) r: D; t! Nextern int ufusr_ask_unload( void )+ T* F6 `' R/ C& t( I$ N: `3 V
{( B4 Q0 D/ L/ `! n
        return( UF_UNLOAD_IMMEDIATELY );1 c+ F+ k6 v; Z
}

评分

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

    我知道了