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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

" w9 Z$ R6 ~+ w" _0 f7 Y/*****************************************************************************4 E/ {! f- f6 C
**3 l% K* l: [" m1 s5 `. O" ~( `8 E
** createfilebox.cpp
' M3 v  m, D2 ]6 ~  R**
4 U1 E9 r4 B4 G+ h** Description:
6 X9 @& z4 F2 ?% R**     Contains Unigraphics entry points for the application.  ^) N' W; }7 ^- n) u3 Y- {
**
! S* ?" k5 g8 H; V- h  ]*****************************************************************************/( e& M" t: E5 H; c+ R
/* Include files */' o& R4 g. n/ \* _4 x9 m" I
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
# \6 B; X7 c  i( {2 E" @7 Y6 s  S5 k3 j! p#   include <strstream>9 x( }3 g  u$ H3 n+ A# [
#   include <iostream>
* W' A" X/ `- O    using std:strstream;
7 u) n, b* W  V2 K0 y! r    using std::endl;    7 i% f7 K: s( I. p' W6 S7 [
    using std::ends;4 i$ e: y8 q9 b/ A
    using std::cerr;; f5 X7 j# O. x8 M7 h) T
#else
5 J! Q% m3 }$ O" j5 J, f#   include <strstream.h>/ F" i3 C2 ]5 w8 e, j' H$ O
#   include <iostream.h>( L# s$ t  v& p9 d) M) M1 w# a
#endif. P  H4 [; d1 R7 B8 I. p6 i9 d
#include <uf.h>
. v7 D! X$ ?, t) O#include <uf_ui.h>0 [1 _9 Y+ C* ~
#include <uf_exit.h>
3 O7 N% q# c5 B; p+ T#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))5 U5 b! {+ U3 l3 W; m3 t
static int report_error( char *file, int line, char *call, int irc)
7 }2 f2 O" M( m% h& `# ?9 s; S{$ O! C! p  C& R$ m: v
    if (irc)0 H4 T' I; _: d3 [  a9 M' t
    {
+ w6 ^6 u3 p8 K+ N5 L7 K        char err[133],& ^* M7 Y  E/ I+ C
             msg[133];& F0 ^" a6 d, q9 H, Y- X7 `  \
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",; `& b/ R  v5 N6 u2 G! z
            irc, line, file);
- X, K7 V; c) t% O9 R        UF_get_fail_message(irc, err);
4 ~, F& ?2 O: V8 w- |4 ?8 O+ L" l: d        UF_print_syslog(msg, FALSE);: G* `0 D2 ~$ U6 B, E
        UF_print_syslog(err, FALSE);
4 L, t& ~% K0 r0 i9 U  E$ {        UF_print_syslog("\n", FALSE);
! k. }' W% B5 d) B1 |        UF_print_syslog(call, FALSE);5 z! f1 K0 t- N5 e1 l3 s" v2 G+ _
        UF_print_syslog(";\n", FALSE);
  S7 q' _6 w6 L6 @$ r0 K, Q        if (!UF_UI_open_listing_window())
9 Q2 N( X5 a. E/ D        {. i6 c* g9 I0 J* k
            UF_UI_write_listing_window(msg);
* x0 J+ @, g9 n6 B1 z. ?4 @; Y2 p            UF_UI_write_listing_window(err);
' u% m( b1 {+ D2 _; E            UF_UI_write_listing_window("\n");9 V; S9 g  O; ~6 r# H& t
            UF_UI_write_listing_window(call);: z7 W0 L' Z+ j" o, B
            UF_UI_write_listing_window(";\n");/ Q: W3 ?& G% ^
        }% p+ g6 c" ?% e7 L
    }' _: _/ q* I4 H6 }6 u! S
    return(irc);5 c+ a- d3 u" T
}
1 n* p$ A  o2 t1 E4 o! N
$ z& H1 e$ Q% c6 ~2 {/*****************************************************************************
* E, k- }# f* C**  Activation Methods; O$ |+ m- Z1 |# p, W; ?8 [. Z
*****************************************************************************/
' A' D) z- E: C8 B; m! [# ]/*  Explicit Activation% Z- a2 o6 q# ^2 `
**      This entry point is used to activate the application explicitly, as in0 S$ Y5 V( b& b
**      "File->Execute UG/Open->User Function..." */
% J5 y7 |; G& U2 Qextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
4 c) q' p' M. _! E{* ^' v3 X( A. ^/ X" }1 X9 @7 O; P
    /* Initialize the API environment */
& ]% q& |; o7 @( }3 X char prompt_string[]="open file";" y; D0 ~( H* u: O* y) f
char title_string[] = "select file";
3 M% }& @6 F4 \0 s4 c char filter_string[] = "*.prt";1 W7 M0 C3 A) c, V# G" S
char default_name[] = "my file";, b, D2 i( i4 U8 X" u4 I# u9 i' x3 d" K
char filename[256];
: g8 }& j# v. ]8 i1 t int response;
- R8 b: j9 I9 A/ T& C$ V    if( UF_CALL(UF_initialize()) ) 6 B0 M2 ^7 u/ p/ ?5 V) C+ h9 l
    {
; w! X4 G# k% ?; X% W3 O9 }# j        /* Failed to initialize */+ d5 u' T# e6 ?. \1 A
        return;
0 b: ^, Z+ U" ~3 v" A    }
. u5 S" f$ i; M9 o; s- s  M6 b+ _    # f+ D5 C: J' D) G" W9 S4 P+ X' N
    /* TODO: Add your application code here */8 ]9 [" ]/ `& k  M* P
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox1 ]' O4 w- c4 i4 a) S4 `
    /* Terminate the API environment */
7 r$ |, ?( |6 o4 v9 z    UF_CALL(UF_terminate());' ?( w0 r  u5 p" @) x& C/ F0 d0 ?
}
$ a# U" l, n; l1 v& Q/ T" @* I/*****************************************************************************
7 H& a' r* N' e" E& f**  Utilities* R! ]3 ^7 ^  c2 X( }; |0 W% v9 F4 \
*****************************************************************************/$ ^" n: f. B+ ^9 ]& E8 s. h! |4 g
/* Unload Handler
0 W* P) Z+ S7 ]$ E  N' k' [**     This function specifies when to unload your application from Unigraphics.
$ g1 o" h) S2 z% g/ v2 s. I5 @3 h**     If your application registers a callback (from a MenuScript item or a( p3 C  _' _8 Q- x- `
**     User Defined Object for example), this function MUST return) O; Y% F1 @$ M! Y- t
**     "UF_UNLOAD_UG_TERMINATE". */
5 |8 y* @; p0 g1 bextern int ufusr_ask_unload( void )' r$ _% [8 A* _) i% d
{
2 b: P- Q3 m; M; `( D    return( UF_UNLOAD_IMMEDIATELY );
5 {  A( v+ Z/ A% a7 I2 O  V}4 c! K8 t( ~* P
/ c1 {* X4 L; l& R" f
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 我没有试你这个
- {: M1 f' Q' Y+ p( {$ n6 u% o) r/ v. w; Y& [% s+ `: M# K
不过你加个uf_call或者看下syslog 啥问题 ( v" O3 ?- X6 L( \9 g9 p6 C; r

" R/ b: m3 }% M
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
( p+ ]. [3 i: h- T4 {* Y! eUF_UI_create_filebox 我没有试你这个
% R# v' D" _* w  t2 ~3 [+ }! }  t6 @" r5 Y  O5 D
不过你加个uf_call或者看下syslog 啥问题
3 A. W4 s& Q$ `
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
. |9 ^* l/ j# B我想用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% v' x8 ?* M8 |. |
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
: }% c2 q5 R' @( y, f! J我想用UF_UI_create_filebox ...
' \% \$ N5 M: K
7 n; J* p/ N( }6 Z4 P
#include <uf.h>& d7 U6 y! B7 K  b
#include <uf_ui.h>
' m8 N2 U8 a  h0 g1 D% N% K5 w#include <uf_exit.h>
, U/ d# I/ V$ l! O+ Qextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
6 n7 D# {- p" z' ?3 u% H& y{
7 t* E& A1 r5 l" m' T' d        /* Initialize the API environment */
9 z6 h+ j3 |7 K2 y        char *prompt_string="输入文件名";5 Z5 J/ @  _6 i; V2 F$ J
        char *title_string = "另存为";" J- S; u* s/ I9 c1 L' x
        char *filter_string = "E:\\+*.prt";8 z6 T( O( t" V3 I, d2 D, Z
        char *default_name = "OK-PRT";
# z* O+ `& b" @/ ^) V        char filename[256];
: m& I3 w* l9 ]        int response;
3 U" H0 p# [6 A5 i' L5 d5 U        UF_initialize();; v! b# L. D& H; O9 j
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
! v4 @1 K& i" I# o- p) W        if (response ==UF_UI_OK)# r0 P% _, ]; K: p; Z6 S- Y4 ^3 J
                uc1601(filename,1);
( L( b" n8 i9 g        else if(response ==UF_UI_CANCEL)( a# F8 T+ T0 P0 t3 F# ]+ l6 A
                uc1601("取消",1);
! }! `, c. f$ k' Y        UF_terminate();- H* {( p7 D6 m5 {. ~
}2 ?( V' S  [9 c# U: x2 F& C  i4 b( U3 \
extern int ufusr_ask_unload( void )
9 p  M/ ?) n" q" K; Z3 F& r; C{
$ X2 ?. ?# ?% L        return( UF_UNLOAD_IMMEDIATELY );
3 M7 F1 G4 O) N}

评分

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

    我知道了