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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

- y0 b' g* k6 J# k9 j/*****************************************************************************: R* o+ I2 N% y" m/ v5 r
**5 R& Q; [" f; o7 ]3 j" x$ G/ V+ g
** createfilebox.cpp
, x6 J/ S1 R* _1 c, @7 _! C**
# h# O+ u8 G0 \2 L- i+ Y. p+ g3 g** Description:
" L7 d8 a; @' \**     Contains Unigraphics entry points for the application.3 U0 ~) [# c( A# z9 a
**
# a, C% p6 Z$ |. T1 w0 S*****************************************************************************/
2 Q6 I1 R: a. i  `/* Include files */: O2 J7 R% M$ F: B. T6 X+ R
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
6 t. a4 a3 X. L9 M#   include <strstream>
& r% Y+ l3 W$ G* N7 X#   include <iostream>" W+ k5 ~& {3 V  o6 {$ [
    using std:strstream;! P* `' S- P9 _
    using std::endl;   
" x8 b9 z7 v7 m9 n7 D    using std::ends;
6 C* p# {; J0 [    using std::cerr;' R9 L$ l3 ~8 k" }4 j/ s/ d
#else! Y1 ?9 g4 L5 |2 e8 U; }
#   include <strstream.h>4 E' A" I* g( {" H( \  E' ]
#   include <iostream.h>% E  e7 o$ o- A* C$ {
#endif  x$ P: J: D- C% Y& }5 K
#include <uf.h>
5 l1 g  `" ~/ n/ X6 n( a#include <uf_ui.h>& {: @# C" Q  c. E4 `) B
#include <uf_exit.h>8 h1 r/ U: s; x* e# u
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))% x! b+ D& v) ?8 v. @$ K1 e
static int report_error( char *file, int line, char *call, int irc); Y6 H- S+ [! M" }2 k
{1 s( J' b( c8 E* D! ~; y
    if (irc)9 X, G0 z6 b7 U8 c: n6 [
    {/ t8 V( y* u9 G9 _4 {* z
        char err[133],
* d, b! @2 d3 C" A             msg[133];
# \" x& q8 P- t( k        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
" x% d$ W% j# }& i            irc, line, file);
% q" b' V% P9 X6 ~) }6 @        UF_get_fail_message(irc, err);
, R. s/ {0 d& H! L8 M        UF_print_syslog(msg, FALSE);' w, ?  g5 @; X) G
        UF_print_syslog(err, FALSE);5 E6 d* s3 A- ]/ d6 M8 Y
        UF_print_syslog("\n", FALSE);: g  J# a. l, p) `+ n" g0 q
        UF_print_syslog(call, FALSE);
8 U/ H& l: g& z        UF_print_syslog(";\n", FALSE);
( ^2 _% t1 ^! i3 S6 v        if (!UF_UI_open_listing_window())6 L8 e7 D6 j" G  M! D5 {! I
        {0 R! K) j4 e" F- d& q7 V* n( d$ O7 w
            UF_UI_write_listing_window(msg);
( U  o* E0 I. c5 v; `  P            UF_UI_write_listing_window(err);  |4 X+ B  _+ Y$ p8 {
            UF_UI_write_listing_window("\n");
  X6 G! f7 M) p, J& u            UF_UI_write_listing_window(call);
7 Z  V" F- D$ D, s            UF_UI_write_listing_window(";\n");: y. Y  e3 d) r
        }
1 J5 j. B# }  f  [  g    }* e* M7 Y+ N5 D5 a+ O
    return(irc);1 q# ]5 J9 I9 l5 r# H) x
}
3 i3 c, V) n& X/ c+ M9 U% `
$ b$ [6 o0 ]" l( k/*****************************************************************************
* M' c, z8 N& T( d5 [% h& I  \**  Activation Methods  [. f* u  v2 U* p; S2 v8 T, m2 C
*****************************************************************************/
  y2 v0 I% }0 k. U2 Y, w8 m/*  Explicit Activation* y1 g0 X2 @2 N4 m6 x2 N; b
**      This entry point is used to activate the application explicitly, as in( j9 y! R  \# A( _# p
**      "File->Execute UG/Open->User Function..." */
9 {; m- n+ z* pextern DllExport void ufusr( char *parm, int *returnCode, int rlen )& o5 J" g3 ^& y1 v4 F
{
$ M; m9 ?2 D1 Z  Z5 E    /* Initialize the API environment */. @9 X8 B& k' r  X: _/ d  [
char prompt_string[]="open file";3 G6 M: D  f& j' }' m
char title_string[] = "select file";
# S5 q; ?, z$ U2 X* |" N% j char filter_string[] = "*.prt";
3 d3 r# Z- }1 L$ x0 W char default_name[] = "my file";
6 W; h8 d  b. Q1 g- x$ _ char filename[256];) H' w6 t5 Z) O) z2 \$ q/ t
int response;
' P& H! T- V4 g# A    if( UF_CALL(UF_initialize()) )
+ R7 [2 ?, |0 |' G' Y) F    {
# x5 c0 J- q' \: M2 x/ D8 G        /* Failed to initialize */+ k3 h; G: M1 R4 O' W7 D
        return;1 N/ E, n1 t' }+ J( S
    }9 `* z  k1 y6 T: y0 V5 @) O5 Y
   
$ L/ d2 d2 W' w- j3 J9 P5 i7 }    /* TODO: Add your application code here */
: ?' }+ U% o6 ~3 O UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox" I( M0 t. S! n$ Y: V
    /* Terminate the API environment */
- M; P; i* [/ b8 U( F    UF_CALL(UF_terminate());
: N0 @, \2 z3 R: _  U6 `  T0 F}
+ n. ]+ v8 g- K* Y/*****************************************************************************( B; T* f! S+ j$ C( a3 s
**  Utilities9 I4 \- P9 b* ~5 a( t; q
*****************************************************************************/" _& Z; R, _) g% V8 O
/* Unload Handler
/ b8 v/ t! W% w5 w' k) B**     This function specifies when to unload your application from Unigraphics.
0 \8 L3 t9 x# Z/ F0 Q**     If your application registers a callback (from a MenuScript item or a
( [* j+ Y) j# K  n( b**     User Defined Object for example), this function MUST return4 e7 L0 I9 W6 I$ E$ \
**     "UF_UNLOAD_UG_TERMINATE". */
8 o$ F: z' }' z# c, zextern int ufusr_ask_unload( void )! {! q; v5 s* c* M+ K$ y3 o+ K
{* `* t, {5 C5 X9 w  t* @
    return( UF_UNLOAD_IMMEDIATELY );
! W/ t9 }( u0 d- n( Q0 b1 u8 @  i}
+ s4 `5 [* R0 ^7 N7 t/ ]# f: ]9 a+ T+ ]
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 Q3 R4 A1 d& }5 D* O) p

/ G9 C" Z7 r) t" ]( l8 N. a不过你加个uf_call或者看下syslog 啥问题
9 o( e4 f: r5 f" N5 |! d. o1 ^4 L$ z9 [9 i, I& ?
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
) s4 F: m: E7 `. ~UF_UI_create_filebox 我没有试你这个
4 U9 W$ a$ Q/ Y# L) {5 o" n& p, I3 }# z' \' H/ P9 G8 l1 ]* X
不过你加个uf_call或者看下syslog 啥问题
2 j! y% X* P( C) t
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
5 c( w7 G; T+ f我想用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
% ^; f4 M3 k' Z4 M1 X; ?" ^UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。9 b: s' {5 Q# _7 s
我想用UF_UI_create_filebox ...
" a5 f. Y  U) Q. g/ k: A

# z6 ?# L7 Z- p; [7 ?8 \#include <uf.h>
- m6 ^* l4 B  T/ a. H) [" h! g5 {#include <uf_ui.h>
7 `* ]* R/ b0 u: e. q  N% _1 m. ]#include <uf_exit.h>. K; V2 H; k5 G* A
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )  M  \5 v: S# L! b5 Q
{
- h& _) R4 T. K6 x6 N2 T3 `        /* Initialize the API environment */! s' t4 s, |6 g
        char *prompt_string="输入文件名";
+ L3 l& J* v3 r+ P2 f3 H8 L        char *title_string = "另存为";: @7 G5 k% E6 Q" x! M/ V
        char *filter_string = "E:\\+*.prt";7 O5 D3 A  B% m! w
        char *default_name = "OK-PRT";3 d' s8 [  f3 R3 K
        char filename[256];9 ]: U) B. d( Q3 v- q$ o$ c; q& ?# r
        int response;
3 I+ \7 b+ Q4 _' d        UF_initialize();- @% G2 [0 U+ P1 b* ?
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
9 i" G+ N# |! S, S* w/ W        if (response ==UF_UI_OK)
: w* B( p: |0 }4 l                uc1601(filename,1);1 f; h) G7 G2 h( F  A3 p' h
        else if(response ==UF_UI_CANCEL)1 F( k' H* q6 @- \, L
                uc1601("取消",1);$ a7 ?! T! P; E, A- `
        UF_terminate();
& I$ R5 I1 \9 x* `( Q}6 ^" p8 m# h. k$ O8 q) Y
extern int ufusr_ask_unload( void )1 |2 B+ \4 ^7 h' w9 ]
{
5 }3 i, f; e$ n2 w# U        return( UF_UNLOAD_IMMEDIATELY );3 K8 h# I: f6 V6 Y7 {$ 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二次开发专题模块培训报名开始啦

    我知道了