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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

+ W5 A& H8 B' g- ]7 G# `/*****************************************************************************
, R( p8 _! {4 E# o: d' m**) W) z! r5 {( k& g. r& }
** createfilebox.cpp
4 u; ~# B" k& w2 Z**; x7 [& E0 Y5 \
** Description:
4 V& T& ]$ L2 I$ f**     Contains Unigraphics entry points for the application.: q) n, L. B: W# D
**
$ y2 m. l( P0 V2 l! s! k. p1 Q& q*****************************************************************************/& L9 o5 i8 L7 d! G' W3 i5 K- j* `' ]
/* Include files */
$ S1 W4 N2 q% X2 j#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun ); @: G7 k( X; {& _6 l! a
#   include <strstream>
1 v# M! R3 b! [& N#   include <iostream>' [2 T% a" o0 m* k, j
    using std:strstream;
% t0 @3 c# s4 f/ |! |    using std::endl;   
( Q+ w: z# h2 t! e  v    using std::ends;
: t9 Q8 F6 e7 d& F4 {' S    using std::cerr;
8 |4 B2 ]  C$ R" l. [) k( Q! j0 ?#else. e* D# V$ N3 Y
#   include <strstream.h>) E! Y' y  g) q) q8 m: i$ ]
#   include <iostream.h>
- Q- T% {" h+ M% ~( I#endif
; G4 I+ _: ?! [, c* ?6 q#include <uf.h>3 a, P9 ^+ U' ~7 R
#include <uf_ui.h>9 F% K* f* }; f
#include <uf_exit.h>1 H" R( K/ S& F* F7 ?$ x9 |
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
4 W2 f1 g! |' x* e' Pstatic int report_error( char *file, int line, char *call, int irc)
0 ]5 ^1 `+ B- U4 B7 f) j7 }% Q{
* r/ r$ h# i8 |' {8 @    if (irc)
* J, M! R( E. u6 Y* C    {
: k: e0 a9 j2 X1 u7 [4 ^        char err[133],6 A; W" u% C& H) u4 i7 e1 ]
             msg[133];
9 o  s0 }' ]' z$ {  j        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ "," X( i9 N' Z5 r
            irc, line, file);9 N! `& @9 H3 _. W
        UF_get_fail_message(irc, err);
- M; _& _! v/ k! E2 \! \9 w+ [        UF_print_syslog(msg, FALSE);
: s7 ?! ^- B0 t  k        UF_print_syslog(err, FALSE);1 ^# _8 \; q! S! k; X
        UF_print_syslog("\n", FALSE);7 a" ~$ H" ~4 p
        UF_print_syslog(call, FALSE);
% {& P$ D( l" d2 ^9 P: b1 O        UF_print_syslog(";\n", FALSE);% H% k' e. s, a# d1 K+ g3 [
        if (!UF_UI_open_listing_window())
, n1 M0 }8 l! x. }6 a1 Y* X' a        {
$ m3 q- e9 \6 ?" q            UF_UI_write_listing_window(msg);1 d& {- X1 N' e2 r2 Y! f, B, p+ d
            UF_UI_write_listing_window(err);
: S2 ~, @# h6 n. R            UF_UI_write_listing_window("\n");
& B2 M: [8 c6 e            UF_UI_write_listing_window(call);2 _1 e( {# |0 `5 w% I, Z4 Q
            UF_UI_write_listing_window(";\n");( _6 _- e- L, Y9 V4 X3 v5 y
        }
% ?$ n) s' [- H* X0 q, s    }
. P: O# u4 t* ?, f( |0 Y    return(irc);/ P: D2 w8 B! ^, h* j! Q
}2 v& D' B& ?2 W/ K- H% T% _
. g1 C- v0 B, o& Q& }# J
/*****************************************************************************
2 K- y8 d: [0 |; T: Q4 o**  Activation Methods
5 Y' P7 Z0 K/ D3 X3 u# b6 q*****************************************************************************/
1 h5 J3 D; V4 X" m5 w) f" ?/*  Explicit Activation
% |( f, L6 T8 m% D0 _9 @' [**      This entry point is used to activate the application explicitly, as in
. k( G8 p) O% T4 ?7 d3 X( f' g$ ~**      "File->Execute UG/Open->User Function..." */
! i5 y9 r9 Q" c! oextern DllExport void ufusr( char *parm, int *returnCode, int rlen )' C5 E* `1 [; d) Y! i' o
{
9 O9 P0 |1 G8 H* I    /* Initialize the API environment */
9 }4 D  n) y0 c1 Z3 H* n8 z7 Z char prompt_string[]="open file";: F9 _0 n' n" S, x0 B3 ]; t. H' k
char title_string[] = "select file";3 F+ S& O7 f. \
char filter_string[] = "*.prt";# C% \4 ?0 H- m9 l
char default_name[] = "my file";1 t" b" u5 `% C2 V8 L3 ]' c1 N! y
char filename[256];
( n" w: {  h6 z% R5 k5 x) F int response;
$ \0 H. W3 ]" k    if( UF_CALL(UF_initialize()) ) - h4 y) \9 ~; y: ^- v1 s# k
    {
) a; [" {; {" q, `        /* Failed to initialize */
+ M! U+ J2 p9 }# X        return;
; Q8 _8 ^- K& l+ Q5 ~9 G( h    }
! A0 ]" {- M1 n2 j! l; i    8 c( R! a* p3 l2 s! q- H4 V3 Y- E
    /* TODO: Add your application code here */
4 _4 i7 Z; {5 i- E9 D1 Z9 E! A UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox
2 a5 B* H; e  _8 l" g3 v7 B    /* Terminate the API environment */
# Y+ h! {' \  {* Y, N, J: ?- K/ f; X    UF_CALL(UF_terminate());$ ~& @; ?$ `* ]0 L0 M  m' y
}
1 A2 z7 o0 u1 m0 q; z; P# Y) S/*****************************************************************************3 o$ S! g3 s) j5 n* ~
**  Utilities
; _$ ?% M; M4 g; r. ]5 c2 T*****************************************************************************/- u. p0 @1 R1 _7 G5 q- |+ w
/* Unload Handler
7 O6 H# |+ \6 q0 |+ l' @* B. ?  |**     This function specifies when to unload your application from Unigraphics.; y: \* f, a+ h- j, M: Y6 ~& |
**     If your application registers a callback (from a MenuScript item or a- S  V4 R3 ?  b( ?) H+ I
**     User Defined Object for example), this function MUST return, Y! V! o0 |) ^  ^7 {- K
**     "UF_UNLOAD_UG_TERMINATE". */
7 o% i* p0 a) X; ?- _+ a) Jextern int ufusr_ask_unload( void )6 o+ Z" ?0 z4 Z6 |
{
- q4 [+ m; @8 P% @- V! Y    return( UF_UNLOAD_IMMEDIATELY );& W6 |6 R' C' Q3 |
}
( k' m! H; v2 U. R1 R, I0 J4 _" k
. O5 I8 U2 ~* Q% D5 u
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 我没有试你这个 ) [; v' Z; B* f
# o+ u1 S! r6 e3 d( b& j
不过你加个uf_call或者看下syslog 啥问题
7 U7 I, y8 h' m' W' }& r1 I) ]0 t
) P3 d# ^" F, o& m) ~! m  d! B
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
4 E$ J$ r* T* h& f% ~# ^UF_UI_create_filebox 我没有试你这个 $ ~. U1 n: a8 z( n4 a

: L1 ~0 S9 E5 P! W( g不过你加个uf_call或者看下syslog 啥问题
' S# T) |; d+ S" Z& y0 Q$ m' H
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。" Q+ q: d- E* o+ L  ^+ K9 }) v
我想用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
" p3 c# |5 j3 p7 D8 u) sUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
! i9 d4 T1 I) d) f' u3 p+ N我想用UF_UI_create_filebox ...
2 x. T) A8 F7 j6 R
% O& F; T' B# i- z
#include <uf.h>
+ |" B; g# G2 {#include <uf_ui.h>
6 a# U, R. u! h# o2 ]8 F2 D#include <uf_exit.h>
* Y; c# j. g9 W: T  W8 yextern DllExport void ufusr( char *parm, int *returnCode, int rlen )! k3 p3 V4 j" q* l( R
{9 V3 y5 a$ @# w  S5 \4 W( b
        /* Initialize the API environment */
- G; v" h' i! f" K% k        char *prompt_string="输入文件名";
! b) @& M& Q9 l" a3 Z        char *title_string = "另存为";
& a* l+ p6 T0 U  p        char *filter_string = "E:\\+*.prt";
$ O8 G) ~( T- B2 f8 V' L        char *default_name = "OK-PRT";
! ~0 _/ i* h% Y% e7 g" w        char filename[256];/ C4 W% v$ I3 e# {
        int response;+ x/ ~. `1 i5 `7 J$ E
        UF_initialize();3 |' z( g% L& o9 U& j
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);4 S( d0 d  y/ L) E" z! w/ l
        if (response ==UF_UI_OK)
0 y& Q9 |0 s# O( o2 ]  D                uc1601(filename,1);9 p2 K& A4 f  j/ `
        else if(response ==UF_UI_CANCEL)0 w6 E0 n/ J: {& p: m" s
                uc1601("取消",1);4 d* [- e0 j# g" n& b. S2 ^) q
        UF_terminate();4 S7 e9 d0 m: ]% S! X; y
}
3 m6 g) f# z7 ]" C/ pextern int ufusr_ask_unload( void )
. G6 k2 }  L" J/ u+ W* i. m{1 }; V% Z, T4 j: q% B; g
        return( UF_UNLOAD_IMMEDIATELY );
  _) E* A, X3 _' E* Q}

评分

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

    我知道了