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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x
  l5 P' Z3 o3 |5 c
/*****************************************************************************' U9 W3 t, f8 {+ O6 _
**
  ?; f: w6 q7 [+ V( ^** createfilebox.cpp$ n2 g- G& [& {9 A" I  m2 ?  m
**
- E) ], r. V; E0 M; [" w  d** Description:* K2 h. H' a& d  j8 o* D6 r0 P% t4 g
**     Contains Unigraphics entry points for the application.
/ T: I7 S# P) ~) l& ]**+ z2 {2 d$ t) `! Q: E7 {* D
*****************************************************************************/
  z3 J0 F1 f& E0 X8 x/* Include files */& l* S; r: [7 V! ?& \' U1 m
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )% v( z; V: b8 G' X! k
#   include <strstream>
6 c- b4 ]- S+ }4 `3 M- O# O#   include <iostream>
5 p$ Q! d  P# d    using std:strstream;9 [  V4 V7 b: P
    using std::endl;   
- ?$ k; O8 x% ~6 H" P    using std::ends;
7 w; _+ J3 W$ P1 G/ i8 J0 X    using std::cerr;7 K6 t. C3 i2 ]7 R% m  Q
#else
+ N! e* ]' J  c1 u! x#   include <strstream.h>
2 Q% z- Q1 N$ }#   include <iostream.h>
( G4 C: E- m; G; ~$ C#endif' @3 ~6 N& M" a& O( M& `- a
#include <uf.h>+ T& C& J* U! v
#include <uf_ui.h>
$ w# i/ Q" V; E3 ]; E+ e& `- Q% w#include <uf_exit.h>
5 j  N! m0 z$ O' z% m+ O#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
% h4 ]7 Q7 j* y4 V% @& astatic int report_error( char *file, int line, char *call, int irc)
9 s6 \: B( R3 M& ^! W& c3 ^$ r/ M{
" W9 h1 h* q2 v    if (irc)4 N5 i$ p$ p- ]$ l
    {4 @% X+ v! {3 V8 c5 F
        char err[133],9 M0 u* ]" ?+ C' }
             msg[133];' Z& q, D/ U7 \! c0 D
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
& s' Y: u3 @2 U" B: b0 W# N            irc, line, file);5 @' M/ W+ R6 l0 q, X6 i8 b! c5 `
        UF_get_fail_message(irc, err);+ {3 z1 m  Y/ G" d8 k- ?2 \
        UF_print_syslog(msg, FALSE);
5 ?) x, }" M* u5 W$ U) D. M& @        UF_print_syslog(err, FALSE);; H6 k9 S. N* h: s' T$ W  U
        UF_print_syslog("\n", FALSE);
& d0 P0 b7 ?7 U0 ~. T6 S        UF_print_syslog(call, FALSE);
& R% L1 w+ V6 J* ]9 ~# O, t        UF_print_syslog(";\n", FALSE);
! Y, z" Y+ _& N. A1 l9 n        if (!UF_UI_open_listing_window())$ ?' E& u! d2 o5 s0 v4 [0 b2 T! b
        {
1 E" h% r) j+ n, v( e, ]& z! x            UF_UI_write_listing_window(msg);4 h9 a- m+ s) ]! k: f
            UF_UI_write_listing_window(err);, J( ?7 B; @& V# h2 E! E
            UF_UI_write_listing_window("\n");
- V$ G' g! H2 L! l  }            UF_UI_write_listing_window(call);* F, e5 G9 G1 t$ m% |: r
            UF_UI_write_listing_window(";\n");0 s1 J6 t0 E* f5 Z: D0 |* E- U
        }: \# I# P  [  Z; f# c
    }
+ |  k  Q7 G5 r4 Z- [% N    return(irc);
' f7 J- D+ @: c9 g}
4 Z) s# t# Q" y! I( k8 Y* f4 E* [1 ]- [8 o4 h: p5 s& Z5 S
/*****************************************************************************' Z( W2 D3 F% H: ]& w
**  Activation Methods
; j% _$ Q" w" N% o: p, L. Y*****************************************************************************/' c( ^/ j+ W6 [8 N, @8 `
/*  Explicit Activation
+ L+ A2 F6 S6 q/ I' P**      This entry point is used to activate the application explicitly, as in
$ O  ]0 Z5 V: ]4 W. ^**      "File->Execute UG/Open->User Function..." */) J; e& |3 ]% a; D7 k  B
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
, i- [7 O2 b* M* M{$ L! R) U. ~) l8 j. @, a% \
    /* Initialize the API environment */
- c. \$ t0 E9 H* A% `6 O2 O' ~ char prompt_string[]="open file";
# p0 r: N( z' X char title_string[] = "select file";
4 b/ w; }4 U9 n char filter_string[] = "*.prt";( f4 H4 U  D5 g$ C2 y* @
char default_name[] = "my file";
5 t. ?6 P& G& w7 u3 E9 P5 C char filename[256];& y2 \# J9 @( G& _+ j& N, Q
int response;% R" O' \0 t4 N9 ?6 g/ d
    if( UF_CALL(UF_initialize()) ) 2 t* f. c2 y3 L8 C, D
    {/ i4 I2 B/ w# D
        /* Failed to initialize */
+ ?- W: y5 I9 K0 o+ P% k9 I        return;
9 r2 F5 {2 v4 K( C6 X8 }    }# M- W! U. ]' v3 R% I7 O# d
    3 W' x7 s. I- T  c* ~; x
    /* TODO: Add your application code here */4 `5 m* {$ |6 H8 O( h7 o/ Z6 L, \+ ]
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox# @/ e6 c6 ^* ]: b: L( V
    /* Terminate the API environment */
) o* y  x7 a4 w. N) m$ w- Y    UF_CALL(UF_terminate());7 X1 V7 p9 ]( L3 c1 I
}
- @" J3 q5 ^$ U5 _4 g/*****************************************************************************
( Z1 j' Y& c* w" B**  Utilities
& C3 i# q: @: V) V- ~% d( Z*****************************************************************************/
" t( ]% t/ n4 @7 ^/* Unload Handler. z, Y0 A6 p, h! V; Z8 p! x. V
**     This function specifies when to unload your application from Unigraphics.- {9 ~- h$ ?% L/ o
**     If your application registers a callback (from a MenuScript item or a9 L, q: E" x. o6 c0 X
**     User Defined Object for example), this function MUST return
8 T0 z. [8 B8 U4 z- {**     "UF_UNLOAD_UG_TERMINATE". */
2 y1 Y  d7 H2 `) K% Z4 Bextern int ufusr_ask_unload( void )) q9 ^6 b% E6 a
{
5 b8 u2 J$ c' K9 W6 |1 R8 @0 {    return( UF_UNLOAD_IMMEDIATELY );6 {4 u% V3 V: B
}
5 b1 a5 y: q4 m) A7 _, p# F2 n6 F* T  p) [, p
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 我没有试你这个
0 k( j1 i6 _. e+ {0 v; N
( o) O1 j2 A6 T6 |9 h不过你加个uf_call或者看下syslog 啥问题 # U8 b' d( l: r. q: L
" N- A- \. K- {9 T
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:077 {" |4 W+ w0 P5 W8 n' ]  K9 ]  o
UF_UI_create_filebox 我没有试你这个
, e+ _- }) w+ q% z0 i0 X. w: y9 [7 d3 I
不过你加个uf_call或者看下syslog 啥问题

) k3 ]$ v$ u6 x2 a. NUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
; ^% y0 ]- |7 r, {! n我想用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
, F( @8 C+ n  G- W/ @UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。6 W- N7 b5 k% T* k+ h
我想用UF_UI_create_filebox ...

+ _9 B! s- \# P' M) G3 u: ?! a0 K3 c
#include <uf.h>
* a6 ?3 f7 J* u. Z! s) G0 z#include <uf_ui.h>
# M, e7 B! O. J5 G$ T* m% t; _" b#include <uf_exit.h>
* \) G9 t9 j) q( \4 Zextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
5 V/ E# ?3 P2 F" U$ I) z{
2 H5 B1 c* g' W5 J9 @        /* Initialize the API environment */
8 H4 [) X/ |+ s        char *prompt_string="输入文件名";
0 R) Q6 [' N1 @        char *title_string = "另存为";/ \/ ^" W8 g3 [# n( G
        char *filter_string = "E:\\+*.prt";
, u( v! t% X: B  k        char *default_name = "OK-PRT";
: V, j  P2 M$ c, p6 j/ x        char filename[256];2 k3 {+ |8 V: `& J- H
        int response;% j& H6 I1 j) a/ z
        UF_initialize();
% S3 h+ h  r% G        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);! F0 C. T! e6 e: J: Q
        if (response ==UF_UI_OK)0 y( E( K2 S0 I* r3 n
                uc1601(filename,1);& c+ a2 H$ R0 T( R# K9 [2 K4 t
        else if(response ==UF_UI_CANCEL)
! o0 v2 P& C9 n+ d! E                uc1601("取消",1);
; q: y. {& @, }. i' ]; V. U, b: A        UF_terminate();
* N! }# S) K- H, d}) L5 D* ^8 k, y( k& Q5 H
extern int ufusr_ask_unload( void )1 f. m- K( e+ y: R
{
! C" j% K/ q' q  W/ k6 J. d        return( UF_UNLOAD_IMMEDIATELY );/ x4 c) T; J/ d4 @
}

评分

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

    我知道了