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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x
# Z, s0 d. @+ U; r. \1 @2 H: X
/*****************************************************************************1 I, s& P4 G! C0 W  h+ E
**2 i, l, d8 e. a  K+ L3 t
** createfilebox.cpp8 T( Z- a* F) t* H& b1 h
**
0 n1 C+ {2 S* _0 v- J6 ~1 U! h** Description:8 n( P( {* z( h2 X
**     Contains Unigraphics entry points for the application.1 r# l/ f" h; A) S& G5 {( a
**
& S8 Y/ }* x* o2 K6 v+ M6 Y/ U) L1 p*****************************************************************************/( h' B( w, A( F
/* Include files */, H! P7 m  v) E1 E0 o1 W4 C2 Z4 c
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )- o$ {# T5 ?& M, o) U& i
#   include <strstream>  L/ V( O, R4 m
#   include <iostream>
6 z: z; @& Q8 [# A* @    using std:strstream;; i) k) n5 F  W7 R
    using std::endl;    & ]5 E" v4 Q% ?! ~( g7 k
    using std::ends;7 K6 Q2 }7 ]& M  `! [: a4 E0 G
    using std::cerr;/ F$ d* r3 Y$ Y: _" C6 [
#else& i2 ^- ]4 i: Z
#   include <strstream.h>
# Z1 K9 _$ F' A* v#   include <iostream.h>6 ]2 r* e8 O1 u: B$ P
#endif
9 s( d/ e9 Y! l#include <uf.h>
- U2 {& N# v4 u+ S0 @0 r#include <uf_ui.h>
3 ?$ |5 w: X  @' ]: S#include <uf_exit.h>
% _6 z5 o+ @; J+ n4 I& C; c6 i5 G$ h#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
: B& l9 }6 W& P4 Tstatic int report_error( char *file, int line, char *call, int irc)
5 V% N$ p3 o0 ?+ l{: Z3 }/ l; [. k. X
    if (irc)! b- L8 K' W7 ~) k1 s- a
    {
0 p0 q3 c: a7 ]7 s        char err[133],  M* `/ }0 N& N( E2 ?! ]
             msg[133];
0 `. {' k. f$ [! K. b9 F        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
3 T+ k2 \5 x& f3 _3 Y( ?. g            irc, line, file);
; A& c5 F# S+ |" E        UF_get_fail_message(irc, err);8 o' I# F7 F; W. ^& D
        UF_print_syslog(msg, FALSE);
% t/ B3 x: G5 [        UF_print_syslog(err, FALSE);" a) o, j1 Y9 q- o  I% J! s
        UF_print_syslog("\n", FALSE);
9 b' d" {/ P$ r$ m: q        UF_print_syslog(call, FALSE);' X) w) `6 J2 b  j& J9 v
        UF_print_syslog(";\n", FALSE);
! J$ x+ Q' o9 ]! h" O9 v; X        if (!UF_UI_open_listing_window())
; v( c' @1 d9 N! ~0 ]) B        {
' |' j+ ~) H/ F( @& ]; w            UF_UI_write_listing_window(msg);
6 b& T. Z- T; i            UF_UI_write_listing_window(err);
8 M* B0 S! H& H  m7 q            UF_UI_write_listing_window("\n");
2 v- G1 ]2 z/ ]$ Z" ]3 Z# Y0 @2 D            UF_UI_write_listing_window(call);2 r7 Q0 s+ s* a$ ?+ Q" B, v
            UF_UI_write_listing_window(";\n");
2 A' @4 @5 x- P. u, [        }6 p* Y* E' Q" V' A
    }
: A2 ]- \% p9 Z    return(irc);
) L! {5 x6 I" c}
- z; e- S$ z& q. S8 A. k' Q9 `2 l4 Q$ b& x1 |  k" Z
/*****************************************************************************
& b! l* p( X7 Y2 h& Y& _**  Activation Methods
$ @5 N+ }) J6 v1 W" l* w% v*****************************************************************************/
! _1 g2 T5 _; T/*  Explicit Activation
8 W4 r9 A! J+ m8 `**      This entry point is used to activate the application explicitly, as in
+ w7 \- n- P/ T+ a# l: J% {**      "File->Execute UG/Open->User Function..." */
$ S/ w, s: H' O1 ~* H7 f/ Zextern DllExport void ufusr( char *parm, int *returnCode, int rlen )$ q3 Y- M4 n! @' [, A
{8 Y; Z9 P- b( p. O
    /* Initialize the API environment */
4 [- `; m) ]4 m char prompt_string[]="open file";( [; J- a2 ~# w- V8 a
char title_string[] = "select file";- d$ Q( ^, H6 v: \; e- s
char filter_string[] = "*.prt";
3 f% s" d5 v7 r- O1 H char default_name[] = "my file";
- z" ~# f) t' a( m& `& C* V char filename[256];
- U3 D. z& C8 Y" A/ D2 s( t int response;: J0 ?. g& c6 Q* G: n2 ~3 X9 V
    if( UF_CALL(UF_initialize()) ) 4 U4 B- w! S7 l" P- ]
    {/ [# l( T4 n% }  C* u. |- X
        /* Failed to initialize */# p$ {' L- G# A( ^$ A' n; N
        return;
# l4 u7 e- m. o+ ]; a& A    }
" q9 f/ D4 d' s2 T8 f    , @( I1 P9 j3 `& |
    /* TODO: Add your application code here */& ~4 n3 `  J9 L8 ?" u/ ~3 T
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox/ M; V8 L% U8 U8 f" [
    /* Terminate the API environment */
  |0 M$ C9 }8 x9 c" I9 ^    UF_CALL(UF_terminate());
- J5 p. p0 j. q0 G}
/ j5 U$ }4 N2 V- l3 r/*****************************************************************************
% D# k8 r0 H$ [$ R) y1 ?**  Utilities
' P$ M0 ]1 [0 l$ A0 Y* T' s*****************************************************************************/- @6 W; T' I5 I
/* Unload Handler, U) R- _5 E$ m# W9 ~& n
**     This function specifies when to unload your application from Unigraphics.
3 `  B6 L6 L: ~9 }) b: Z4 G! m; o**     If your application registers a callback (from a MenuScript item or a
- J; a1 U' v, s7 E. @**     User Defined Object for example), this function MUST return+ `. ^. B/ B+ |# x& t1 }! k
**     "UF_UNLOAD_UG_TERMINATE". */
) j) V+ T$ ?% d3 O7 pextern int ufusr_ask_unload( void )
# |1 h1 f  D& V{5 L: R. C( m" ?1 Y  x0 f' r! D
    return( UF_UNLOAD_IMMEDIATELY );3 p/ n- R1 D! V  o
}
, ^1 n) p/ y, @! R' r8 n7 S
; k) `% E6 s. T5 j) M0 V; B5 z
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 我没有试你这个 ! L# P5 a) A8 M' _0 a  x
& c0 k: Z) \( t1 I- R3 X# [" ~
不过你加个uf_call或者看下syslog 啥问题
* h4 b7 C: u. H4 b5 D  P- |# n( a9 H- _9 _  M# g4 y& m; T
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07( g$ d/ E* H' _+ h5 j
UF_UI_create_filebox 我没有试你这个
" S7 j/ j+ n; x3 G% [2 P0 D  \7 S4 y; O, R& E" f1 a. M# k
不过你加个uf_call或者看下syslog 啥问题

, N" e/ |# A1 ^+ K% _UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
( O8 w4 `6 y# C7 n4 y, g4 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:186 C" r1 f* y' o. h/ m. {6 K
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
& }/ f" k! {9 l2 j( c我想用UF_UI_create_filebox ...
4 ]4 f. g% g& `
4 N' H" u4 u3 Z2 o! C  ^! B3 ]4 y
#include <uf.h>
. _% F4 A$ A& r( p/ l* j#include <uf_ui.h>
; Y' O8 J3 s- X' E' _3 o#include <uf_exit.h>  x3 c6 q5 \1 g2 O7 `5 G4 u
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )/ N. l3 |" x  C8 V) Q% }0 z3 g
{
( a! P' _! }8 T8 @" L        /* Initialize the API environment */. E0 l: N( c  Q1 U3 z: T7 H
        char *prompt_string="输入文件名";1 l: P" l, B) F
        char *title_string = "另存为";
/ B5 Z9 A% j; N, U        char *filter_string = "E:\\+*.prt";: ]$ I$ ~& r1 ?$ [9 t
        char *default_name = "OK-PRT";
+ ?0 O, V2 C# w4 w' r        char filename[256];
. T0 F' d% S4 O% I) |        int response;
+ [% i% g9 _( S$ q2 g        UF_initialize();
' E# ^0 h6 r% F2 s# y0 y7 R& x        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);- Y# q$ G% c# P% a6 {- C
        if (response ==UF_UI_OK)2 v8 M! C( P# k# t2 i& x$ I# T" p% @, f0 i
                uc1601(filename,1);3 \+ l8 ^, O. R. V; X: e# u
        else if(response ==UF_UI_CANCEL)
  S% w8 M" y/ Y3 ?0 Q- L                uc1601("取消",1);
% q2 B" b6 _: P. ^1 e6 o        UF_terminate();$ i3 w! h+ R6 d, N0 B
}! e- w  _$ s" ^, n9 F
extern int ufusr_ask_unload( void )  |" `3 @8 V2 m
{
9 x5 K! [, A, u2 i; W2 V        return( UF_UNLOAD_IMMEDIATELY );
1 @: W- m; J& ?' g$ I/ 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二次开发专题模块培训报名开始啦

    我知道了