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

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

' s0 [6 ~& u4 ~* W/*****************************************************************************1 a2 @- b8 f4 k+ G: E
**
9 f% g  P3 N: X" x0 G** createfilebox.cpp
, m: ]! C4 C. O+ A# V$ Z4 \' N**( r6 q* D* y2 r+ }
** Description:
7 `/ C- ^2 |/ T2 z$ h**     Contains Unigraphics entry points for the application.
  K& d. V+ n. I2 M**" S3 F! ^( V/ B- R0 r
*****************************************************************************/
8 c% n( m2 \" k; \# y/* Include files */
/ w1 }$ U5 e% h& O. J/ G#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
. }5 i1 }8 L6 \3 E& J#   include <strstream>9 b1 i7 b  `  h  L/ P
#   include <iostream>
6 z; m( O5 {/ n1 r% d' R' R2 z    using std:strstream;$ e% h$ i0 j) K$ B! X8 ~
    using std::endl;    3 T1 I5 |( r0 u( V0 S' c* H
    using std::ends;
$ I7 U0 S& n  I: o    using std::cerr;
; r/ p8 M3 \- R# `" x# \( d#else
5 O2 M! R$ @& w, c* B#   include <strstream.h>
3 A$ ?" D$ g+ D" _( e& H; T#   include <iostream.h>
# _! }7 R3 [  M3 t1 Q#endif: d% S* {. P3 M7 |4 B$ o
#include <uf.h>
% U8 p' f$ `: p4 h* s8 x) U9 p0 @#include <uf_ui.h>
) e5 b# P( |8 ~# f#include <uf_exit.h>
0 X& w) l8 s* d#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))$ B  f+ H! ]+ H
static int report_error( char *file, int line, char *call, int irc)
. C. B# k" C1 e! y( H{  G6 D/ }( Y# t7 M  ^3 F
    if (irc)4 V/ w2 q5 H9 C7 Y1 z, [
    {
6 L3 ~- T$ G) H. f; X* O* S6 q        char err[133],' _! K! h  L8 ]5 a# k. U& ^
             msg[133];/ K3 g( i) f$ q, O3 _$ L, ^7 |
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
2 L* p" p, Z, o# m) p# C- i! Y            irc, line, file);% n0 N5 l( e4 f8 Q
        UF_get_fail_message(irc, err);" N7 z% m. K, }& t0 b# O
        UF_print_syslog(msg, FALSE);
5 R" @8 c! n2 U, ~% H        UF_print_syslog(err, FALSE);; _5 E, G( \$ u% q
        UF_print_syslog("\n", FALSE);! C" s& ^. q- w4 v/ `6 h
        UF_print_syslog(call, FALSE);
2 S/ z) f6 I  M+ U4 t        UF_print_syslog(";\n", FALSE);
3 W  M* \4 q8 c" b  F, k- ~        if (!UF_UI_open_listing_window())
7 i7 c5 p6 Q, b: l( O        {
# |7 {2 J. J- H) `            UF_UI_write_listing_window(msg);. a  K5 y3 \% f% H
            UF_UI_write_listing_window(err);8 ^0 ^) g: ^$ ?7 f! a# T0 n
            UF_UI_write_listing_window("\n");. m# v5 M2 c, q% {6 i  p) {
            UF_UI_write_listing_window(call);
6 f8 s; J0 r- V; d. w1 W! b8 e. a            UF_UI_write_listing_window(";\n");
8 J8 D  g# Z' O- [: O+ x2 U* I        }8 m3 P2 \* p  O! B9 M  O' o. B
    }
  o2 B7 n- V1 G' ~    return(irc);
* Q/ @  Z  O2 G$ j5 I/ x1 i' s}
- p- `9 [8 [; d- G0 R1 s& g& w  H
/*****************************************************************************3 [) Z0 h" d# I  H/ P( y1 o- C; L/ w
**  Activation Methods
1 i0 @: e# i5 a" c2 j1 |*****************************************************************************/
, P$ h6 w5 _# T0 P2 a/*  Explicit Activation
" ?7 H6 ~3 n# L# Z2 i8 I% J& B4 q**      This entry point is used to activate the application explicitly, as in" ^! ~& w. R2 B* \7 q! v
**      "File->Execute UG/Open->User Function..." */
# Z5 z5 G5 B0 x2 j: j+ Cextern DllExport void ufusr( char *parm, int *returnCode, int rlen )
, E/ M7 X: |5 R! [4 d{( H- y3 N8 w' g% b: [
    /* Initialize the API environment */
* D# _. t$ ]: d# i char prompt_string[]="open file";
+ [/ y6 b5 n0 T char title_string[] = "select file";
. k0 i7 V8 `: }) P% v char filter_string[] = "*.prt";6 v: l( G  R/ w
char default_name[] = "my file";6 G# ?4 q- [# \# n2 W
char filename[256];
$ t+ e: Q" Z  W1 f int response;4 O6 Z1 t  R9 j  n% S7 F$ |4 t
    if( UF_CALL(UF_initialize()) ) 8 R( g3 h) H4 n7 R5 Y
    {7 N. z) x& E5 W; m0 x
        /* Failed to initialize */
  T% i+ A% R7 ]% M        return;
- Q' {% q8 G# ]7 t    }4 u8 i6 r, O) |6 V8 H# ^
    $ w6 A: `7 W8 V8 F8 z# d
    /* TODO: Add your application code here */
. |& G3 G* b) l& g9 [, l UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox+ q+ d( \: n7 S3 ^! O$ U
    /* Terminate the API environment */
9 o' Q, W# O" \; l" d) [    UF_CALL(UF_terminate());
. m( S+ b* Q% v' ~( p0 M& a% ^}
% ~! n- O. ]" f/*****************************************************************************
( O5 h# E( L: A2 ^  h" L**  Utilities
  i# h, \% z- e5 R# R3 ]*****************************************************************************/
% l* q% v) K" c$ z6 F# ]/* Unload Handler
# F" ?2 k; H2 t/ C4 R**     This function specifies when to unload your application from Unigraphics.
2 K7 V- A) Y2 j**     If your application registers a callback (from a MenuScript item or a
4 l6 F$ ~7 m$ M/ g# D7 r3 o5 ]**     User Defined Object for example), this function MUST return
. d6 c6 ^- D  t& ]: W! Y**     "UF_UNLOAD_UG_TERMINATE". */( Z) g0 j( G6 D8 l5 Y3 a
extern int ufusr_ask_unload( void )2 E/ Q1 c0 U7 z/ g7 _; D, |& X9 S
{
4 q5 I1 s% i0 t! [! H9 A3 S    return( UF_UNLOAD_IMMEDIATELY );3 O. Z, v1 N  x) B
}
$ A! }* {8 D2 A8 a2 `% I: F$ s: s, p5 _& M2 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 我没有试你这个
+ D% d* R( D& c: j1 C% L8 M, |' A
不过你加个uf_call或者看下syslog 啥问题
2 G2 ?2 U) @" R7 \- k
$ [* P& H# j6 d& o# ?4 ^+ R- `! [
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07
, ^2 P; [# V& o8 E5 X1 y3 {0 A0 r" pUF_UI_create_filebox 我没有试你这个
4 n# P9 z3 `$ Q9 S
3 S: L0 B. B& [不过你加个uf_call或者看下syslog 啥问题
$ ]. J! h$ }7 A& J
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
3 d9 E4 j' `) ^. U4 `我想用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:185 K! S, e$ O$ U2 g, s' c1 Q
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
7 ~& f' P! O% s/ d我想用UF_UI_create_filebox ...

; p; C" ?- U$ u, B$ b. F( V
0 _" A! G8 o$ f3 c( k  K0 V#include <uf.h>
3 G6 _' Y( c1 m2 [. C. F#include <uf_ui.h>
  }3 K( E, p, h- W9 N" h! N#include <uf_exit.h>% [. n& H5 F7 T1 X/ V- t
extern DllExport void ufusr( char *parm, int *returnCode, int rlen ), M$ W/ Z: s. _$ _! D1 [2 P! m  L
{
# D) @) ?2 f5 U- s- z1 A        /* Initialize the API environment */# ?3 H. s3 m' {& G$ [0 L1 F
        char *prompt_string="输入文件名";
" G0 ^0 W, t0 X5 ^' W9 d4 D        char *title_string = "另存为";9 _" P/ G1 u  F' ~5 L3 b
        char *filter_string = "E:\\+*.prt";$ A  a0 J! y. L: b  u! J8 Q
        char *default_name = "OK-PRT";) Z4 \/ [- g: c7 X4 `0 o
        char filename[256];
9 }5 s8 J) a. K: G, Y  n        int response;2 m9 T& ^/ D/ r: b+ H
        UF_initialize();" o0 C0 ~7 O! y% {+ _: C" k- j+ W
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
+ K3 q& z2 J2 @9 d$ m" p% {0 F3 k; w        if (response ==UF_UI_OK)
( a, }% N4 o1 M1 y9 k/ o% P                uc1601(filename,1);
+ a. Z9 E/ x8 K/ P$ g        else if(response ==UF_UI_CANCEL)
$ l! G, b$ ?: H' k" ?                uc1601("取消",1);6 C- c* ^& |9 {4 U( ~  U0 D$ i
        UF_terminate();
+ X; x7 T% Q* j5 s- q}' _) `) Q* f) W8 Q( B: t
extern int ufusr_ask_unload( void )) b6 {8 [2 {4 a2 r2 c  @4 y3 l" G
{
% w- H# `' u3 l% ]* R$ s        return( UF_UNLOAD_IMMEDIATELY );
0 [- Z* d* Q- H) X}

评分

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

    我知道了