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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x
+ M7 y; B/ j+ k
/*****************************************************************************
2 t5 O8 H& F+ v* h( T6 y# a# A**2 d! O; D& B+ B) L# |3 a( B
** createfilebox.cpp6 h! S7 @- \$ f0 w* m
**
) \" h( i  j0 o7 ?- d0 A3 f" m** Description:
, V, Y2 ^( o' `**     Contains Unigraphics entry points for the application.
" }* W8 `" e9 w" w9 |4 O8 d5 C**
; S9 ]& Z, a3 t. t+ f*****************************************************************************/) q7 H% `8 M, }2 g0 N
/* Include files */
) E1 w' t$ w  n8 T- N0 s#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
5 g4 G. @! W/ x  s7 ^#   include <strstream>6 C, Q% {' \; x3 n  q
#   include <iostream>- f# J* I; a* W  Y( @5 p6 P
    using std:strstream;- _5 `* q9 z% u5 X
    using std::endl;    " k( i$ M4 O4 u" q% I. y% J7 r+ m
    using std::ends;2 v5 \& f# F! w# @( x: ]
    using std::cerr;
, _' f4 L8 n% e+ }( K* K#else5 w. Q7 @- o* P0 e
#   include <strstream.h>$ |3 W0 ]9 z' F# ~* P
#   include <iostream.h>7 ^! T# V% L" x; `0 {5 k. v$ \
#endif, S1 |. A' z8 [9 T# P( W
#include <uf.h>
2 N/ D8 w4 F# F0 l  o#include <uf_ui.h>( E& h( d: r3 e8 R+ u( x8 D- z0 Z
#include <uf_exit.h>
. n3 v2 h) ?5 r#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
) {  X2 R) W  c# v3 K7 @# [( Ustatic int report_error( char *file, int line, char *call, int irc)
  J, j) j( Y8 S8 V{* K" n. {3 T; m
    if (irc)
5 V, C9 x5 o, W$ ~9 s$ {    {; ?3 B9 C7 ]# e% l" g+ R* L1 B
        char err[133],
$ y! Y3 [1 Q3 f( n" Y5 l             msg[133];
& H/ J; t5 s6 O( Y  I8 s1 m% ]- ^        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",8 H& O' v6 `$ L( |' a  `
            irc, line, file);9 x. f8 b( B' H: ?; ^
        UF_get_fail_message(irc, err);2 B. c3 K/ k( k0 h" p
        UF_print_syslog(msg, FALSE);
8 S$ i( x) A  k6 o        UF_print_syslog(err, FALSE);; f/ i+ c' {% j
        UF_print_syslog("\n", FALSE);
1 L; J- r% r1 ^2 S" ?6 V" g        UF_print_syslog(call, FALSE);9 K" z0 E3 W0 i- ~0 G
        UF_print_syslog(";\n", FALSE);
4 z  z1 m) L* c( E+ F" ^% u        if (!UF_UI_open_listing_window())
" T/ d2 w. n, T4 ^5 |9 k. `        {, I6 u' h% J9 f& \9 q  @
            UF_UI_write_listing_window(msg);
; l3 `5 z4 a) `            UF_UI_write_listing_window(err);
" X/ a* J" p" ?6 C+ N6 q# \            UF_UI_write_listing_window("\n");
, K! S; ~9 v) z: s            UF_UI_write_listing_window(call);4 [0 F0 P9 g* m2 ~3 p/ a
            UF_UI_write_listing_window(";\n");
/ q7 }; V4 {) w, j) j( c8 {% q        }' [! m+ N$ M% |
    }
, x; B5 W; I8 t- T! t    return(irc);
; m. j" U) A1 t- D' ]9 e$ q2 ^}$ @" R* b+ A* s4 Y2 A

9 {, X% G/ o3 d/ e! F/ d/*****************************************************************************( K% P6 t" h! u9 x0 l3 B- p7 V" N
**  Activation Methods
7 u9 R+ m. Q+ }( J*****************************************************************************/
( n3 P8 Y3 }% j7 e/*  Explicit Activation
, K7 s" s7 Z7 V0 r% m/ Q$ K**      This entry point is used to activate the application explicitly, as in
/ t( y- E8 X( s* _4 x) `**      "File->Execute UG/Open->User Function..." */: w8 Y: e, G4 }+ r1 t) W, c) Y* C
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )# E$ k/ j6 t! _0 i% g. n( [
{6 _8 C+ ]% \4 c* o! R3 G
    /* Initialize the API environment */- q- K: C  W5 S- [1 v7 f! K0 u. i
char prompt_string[]="open file";
4 x- F) u/ u5 C2 j char title_string[] = "select file";; i! Q! X$ t8 e  S
char filter_string[] = "*.prt";2 \6 ]! u4 ^4 Y' @
char default_name[] = "my file";
+ q2 Q! R$ d+ ?+ M6 D/ r3 A char filename[256];
& e7 n1 N/ T- d( y1 t& z+ i int response;' Q3 f0 l* o9 d1 l" `
    if( UF_CALL(UF_initialize()) )
  d. M2 U6 o+ K3 d    {/ u# }0 E7 W; m6 u- Z
        /* Failed to initialize */
+ Y5 a3 W) l3 y+ R# @* W        return;
1 a* {$ ^& e8 _- Z    }! B/ @# G+ O! I& C( P
   
5 w3 B# M  U6 k; Z$ c/ b" r( B    /* TODO: Add your application code here */
! x2 }' t: O- e" ]" S2 o UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox
: V+ M0 I+ e4 b0 a& v    /* Terminate the API environment */# T- l" Q9 W* d3 b4 B% @
    UF_CALL(UF_terminate());0 A) P' I/ M8 F- W* P
}+ @9 G1 R$ t' W1 [0 q3 ?; Z  K
/*****************************************************************************+ T" N6 O. e: A2 G& Y
**  Utilities
: p" l* m3 y6 i$ v4 y*****************************************************************************/
4 {, x: U  \/ ]5 L) h6 |/* Unload Handler
* y5 [3 S# q2 m( g2 o5 S( k# G**     This function specifies when to unload your application from Unigraphics.  a4 |6 n0 J. a/ f) K' l
**     If your application registers a callback (from a MenuScript item or a
. c2 ?* G% g9 S( s% {% o**     User Defined Object for example), this function MUST return! I! F3 _: m7 @5 E5 I
**     "UF_UNLOAD_UG_TERMINATE". */
+ P* |5 F' N( B' T- M& uextern int ufusr_ask_unload( void )% L( @' Y8 @* `
{6 m5 A1 Y3 L  u# U$ b" @
    return( UF_UNLOAD_IMMEDIATELY );( J+ Z0 L+ o% s+ I8 q; b! o
}
0 _4 C5 |1 p0 \0 @* B) L
8 V5 c$ l$ z+ k5 g2 |9 R4 @8 i5 a5 }
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 我没有试你这个 8 {6 Q2 R* V4 M6 e! a3 F5 E+ Q
6 a6 j$ L& s) O- ?$ p% F' D* t
不过你加个uf_call或者看下syslog 啥问题
$ K+ a  Q/ Y0 p/ ?  D$ |) d- n
5 d6 L: Y1 w% P# Y4 n* E' M! B
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07/ u: M2 K3 t# G
UF_UI_create_filebox 我没有试你这个
. v& d, q# W# Y) W' W5 c% v. w7 f; y) w$ p2 l2 ?9 z
不过你加个uf_call或者看下syslog 啥问题

$ O( b: U; X0 P, v1 u6 l& xUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。3 ^6 [( P; i, D! M  ^
我想用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:187 E$ p* ~, V7 o5 ^0 ^
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。- m' b  n+ l9 ?! {- q# X
我想用UF_UI_create_filebox ...

" O9 p6 B( l" C) A' h7 |! O) u- U+ U; j# f8 M
#include <uf.h>
! A# C2 y2 u: l, r6 i; Q) ]#include <uf_ui.h>
6 j: n6 Z7 |& V#include <uf_exit.h>5 m* G3 P* a- h6 {8 L% C
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
' R& W' k( D5 b7 w) [$ w{* X& g7 c2 Z- l, P, W& C
        /* Initialize the API environment */# f" s' K+ _0 [5 D: }: X
        char *prompt_string="输入文件名";! u& g* z4 l' f9 G" `
        char *title_string = "另存为";
( L9 _& Q# w) R6 T- M+ p* m        char *filter_string = "E:\\+*.prt";+ X8 {$ C9 ~0 a9 Y- w5 s; c
        char *default_name = "OK-PRT";, T. a8 R* n) j* a  z; q; ]
        char filename[256];! H, ]1 |" @4 r+ z% u8 F
        int response;* ~6 t+ s# g( G9 D! X/ Q
        UF_initialize();# T; g6 F  b& F* R' x  W
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);' t/ y) k8 t+ `! U( R
        if (response ==UF_UI_OK)
3 x$ V- b# m+ B- E                uc1601(filename,1);8 G9 A) `+ D- t0 E
        else if(response ==UF_UI_CANCEL)
) G- I1 v) A  f" g0 O1 T                uc1601("取消",1);# ~) J% I# x) [3 [2 N9 z. K, s
        UF_terminate();" p9 C6 F! I) v5 W
}
- ?- m9 B% @# u, Vextern int ufusr_ask_unload( void ). x1 O# z  m3 j& z8 V" b0 \
{* e+ N  Z- D" a, b( A+ s) r
        return( UF_UNLOAD_IMMEDIATELY );
; X  N6 {7 i9 w7 c, a: n3 z  {6 U9 b2 l}

评分

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

    我知道了