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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

3 x4 e1 y0 y7 {  @- z* s) ^/*****************************************************************************- W/ O4 L8 Y* i$ }& P. \5 `
**
, ]$ w7 B7 f+ I2 g** createfilebox.cpp
9 I) q" O  z' L; x( o**
: k# g7 D' b! z# X7 i. F** Description:
) [+ V: o. Y- M9 \" M! C**     Contains Unigraphics entry points for the application.+ E- x$ V1 ~" ?
**2 q3 j7 n* [4 Y6 t  u
*****************************************************************************/0 e) T# K* o  v1 Z7 o( H, Z
/* Include files */. O" b0 i6 T( D* H" g
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
5 p% I# M' Q, M7 y& Y& `# w#   include <strstream>+ p% L$ M9 N' A6 }1 q
#   include <iostream>
  o0 C2 r: Q- a6 k# Y6 i    using std:strstream;
7 K& W; X/ s9 K, E0 `    using std::endl;   
$ M9 p* }0 E7 |4 a    using std::ends;
0 ]3 l; m3 S$ k% K    using std::cerr;+ p: m: W9 r! c- Y2 B- T+ l8 b
#else
# B* r  K4 e9 I; x# C#   include <strstream.h>
! G) |- e* b7 o1 B#   include <iostream.h>" K& n4 t5 {5 J+ U7 U6 k4 y9 s5 q
#endif
& M& B3 \: Y3 p" J/ o: V# r8 ?#include <uf.h>+ t6 Q/ ]4 Z0 n
#include <uf_ui.h>+ K# i4 `% v3 I8 Y# _4 R# f! k' w: M
#include <uf_exit.h>' r; s' o# p8 T- f+ i& ~( s
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
2 q, u! K0 {% R  astatic int report_error( char *file, int line, char *call, int irc)
3 y- q; P- B" `. `{+ m: I5 L" J" b
    if (irc)) E* t; p+ D& a
    {
5 |+ ]# ?0 K' i& |& |# L        char err[133],
/ ^& {8 n+ U- _) u             msg[133];& G& y0 d* B+ [' I
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",  g/ L' {  V0 X& ~7 Z7 M0 M0 @$ O
            irc, line, file);
) b' F1 F) L# O; h: h        UF_get_fail_message(irc, err);
4 w5 u* d2 J! f  h) @& G( q        UF_print_syslog(msg, FALSE);
9 \4 B% t4 W" K- s6 \6 @, Y; d        UF_print_syslog(err, FALSE);
$ d' I! @% a) h        UF_print_syslog("\n", FALSE);
& \4 B- J; M2 |/ J& S2 z        UF_print_syslog(call, FALSE);
' T' q. n4 ~& ?( P! v! V9 {* d9 _        UF_print_syslog(";\n", FALSE);
  E% N9 y- h: g6 L        if (!UF_UI_open_listing_window())
/ B: p" D+ e& f8 ?, ]        {
* ~+ \9 |& R4 Y" f            UF_UI_write_listing_window(msg);
5 ~, E  Y! S; o) u            UF_UI_write_listing_window(err);0 _6 R8 ~, x. x7 j0 T
            UF_UI_write_listing_window("\n");
( z' ]7 c* F+ f* x' G+ [/ M            UF_UI_write_listing_window(call);
2 j8 H; ]  q* o, W            UF_UI_write_listing_window(";\n");+ ~3 G& M# `3 d) _: ~: o' s6 ]
        }9 ~; a9 U! i8 A+ k, h; j% O  s
    }- @4 R! D& c& H
    return(irc);
% k! q/ c" M. @, n}+ C" ?) l9 X- {% y+ q' i( E+ W
: A: u3 E# h- q: Q  C! R
/*****************************************************************************) e# o! U, |8 z( V8 z  c
**  Activation Methods
. t! g2 A: A. n9 q4 x( h*****************************************************************************/
0 @5 g6 a1 _) w1 b, Q" R& g/*  Explicit Activation
/ G& o& t0 ]& i( Z* D; J. E**      This entry point is used to activate the application explicitly, as in  S% \9 U" ^0 |5 F' J; m
**      "File->Execute UG/Open->User Function..." */
7 \) G! @1 N6 p- @/ x3 H( q2 Yextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
) D+ I- R* `% U2 [{1 {3 N, X4 E5 a9 }% {
    /* Initialize the API environment */
5 X) d* R9 z' c" N char prompt_string[]="open file";
- G2 o7 i& ^# X& O* ^+ S: B; g char title_string[] = "select file";
  }: T( }3 z; Q1 i char filter_string[] = "*.prt";* s# x$ y. P9 Z/ N
char default_name[] = "my file";
0 s$ W2 u" \; a1 z; ^: V' W char filename[256];: l' z7 u0 A6 V' V0 F
int response;1 L% D8 }' Y; r- x* R1 l4 {
    if( UF_CALL(UF_initialize()) )
7 L1 u. k# W0 m3 |    {
* N5 q7 D* K+ P7 F& B* q" D7 U        /* Failed to initialize */) U6 g0 Q# U; Q5 S) S. V
        return;
: N/ P; ^  h& j    }, _# V% z1 P( L# B
   
8 ^  O& u, b9 P# P. j* d# A    /* TODO: Add your application code here */9 ?* O& M. e6 S, g; _
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox
! X7 W& g1 [5 N# N  o9 @    /* Terminate the API environment */
! P5 s5 X" \% D    UF_CALL(UF_terminate());
& u7 s0 L( A* Z/ @$ ~$ R}
9 B4 ^: i* y* l% G2 _, }. S/*****************************************************************************8 i) }! e4 P, i
**  Utilities
. i3 F5 |; R! g6 p0 F6 ^9 B6 m*****************************************************************************/# W) {0 D5 p% p
/* Unload Handler
% \) g$ c( P( W- v1 ~( X**     This function specifies when to unload your application from Unigraphics.5 P  i1 Z* h- r+ E
**     If your application registers a callback (from a MenuScript item or a
) ~0 f& O7 v( U**     User Defined Object for example), this function MUST return
! Y4 U" L" y1 c! U4 q( F) F* A0 `  i& L**     "UF_UNLOAD_UG_TERMINATE". */
* s$ q3 `. g& C1 d7 ?) A: `) D( \extern int ufusr_ask_unload( void )
% T5 \! i% s, {2 [+ d0 C7 ~{: C+ @1 U  ]3 c: Z
    return( UF_UNLOAD_IMMEDIATELY );
7 {% G, e9 _3 V: R}
! E' k4 {$ s2 E* X* o9 b- W7 x/ K% F! ~& t" p: w
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 我没有试你这个 ! C+ C8 \- G1 u; |) f' ~7 V
6 ~- S. X* R3 ?% f  Y% T
不过你加个uf_call或者看下syslog 啥问题
' L6 n4 D! v' j: y6 Z# z/ ~3 C- P5 N6 S+ N1 [2 k. g% U6 B
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
# M2 d" A! r% a5 [8 P+ aUF_UI_create_filebox 我没有试你这个 6 w! Z; J+ O$ M4 P9 U7 k
3 t  ^7 D( j. T8 g: V$ C
不过你加个uf_call或者看下syslog 啥问题
5 e. T6 P. d7 N+ N$ i5 _" g/ E
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。. y9 }8 L& d  U
我想用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
! ]+ Z$ s9 y. v! j+ MUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。* w: o7 `. d3 P* J
我想用UF_UI_create_filebox ...
9 V& g# A3 _) `( V) p# d

3 X4 j$ M0 z9 R: R& @) v#include <uf.h>4 m& p, d) U3 N2 [( a# j, O! O
#include <uf_ui.h>% \; U/ w& i. s! e- K- c
#include <uf_exit.h>
' j$ l1 d$ A! Uextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
/ q& l. Y. L: q, ?3 L: Y' R# w{6 _! X1 r% Y' C4 h: X1 s/ T! ^
        /* Initialize the API environment */" }' M- I) y9 I9 ?5 e; m
        char *prompt_string="输入文件名";
% Y4 H& m  x) @# \        char *title_string = "另存为";9 r- V6 X& N6 Z1 b9 E
        char *filter_string = "E:\\+*.prt";
5 A5 ?1 C& Y* V! P+ U) g        char *default_name = "OK-PRT";
- Q, v% S4 A" ~' B        char filename[256];
3 D: ]9 L" W* I6 M( c/ M        int response;3 @7 b( E# L% Z1 ]+ j5 }3 C. \' u2 k0 b& s
        UF_initialize();+ ?; ]' [5 _, g
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
3 z, D) z0 B' Z' O$ c        if (response ==UF_UI_OK)
3 ?, r/ ?7 @0 ]  ~, `                uc1601(filename,1);
4 i: Z) h5 w7 g, V5 [6 b) |        else if(response ==UF_UI_CANCEL)
7 ]) [* R4 m- [                uc1601("取消",1);
+ v( I# G; o0 K6 t: ]        UF_terminate();
7 m! M9 P& s1 f+ @}0 V3 P' H0 U( @8 a: p
extern int ufusr_ask_unload( void )
0 w8 w# e% p6 y9 }# ^3 v& }6 B{, X5 p& S$ W" c; f, A
        return( UF_UNLOAD_IMMEDIATELY );6 [! ]8 D; F& [/ P
}

评分

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

    我知道了