PLM之家PLMHome-国产软件践行者

[VIP求助] 库缺少需要的入口点,功能名:ufusr

[复制链接]

2017-2-14 11:29:07 6674 0

lzhyi 发表于 2017-2-14 11:29:07 |阅读模式

lzhyi 楼主

2017-2-14 11:29:07

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

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

x
本帖最后由 lzhyi 于 2017-2-14 11:32 编辑
' b. C6 o& F3 C  e2 W. Q9 n% a  A7 v0 C
请问出现如下问题,是什么原因:库缺少需要的入口点,功能名:ufusr, K) P' V5 L/ N+ G
代码如下:  P6 i$ ~9 ?: O/ J
#include "Shrinkage.hpp"
  a8 r; N$ t$ ^: N0 k  fusing namespace NXOpen;
) Q7 G# ^  f8 [) uusing namespace NXOpen::BlockStyler;
4 S; C; y% t" z: d* z, W" k8 S0 j. O. p2 K" i, J4 y, A- X5 K
Session *(Shrinkage::theSession) = NULL;) n3 t( d7 A, g* K/ h
UI *(Shrinkage::theUI) = NULL;& Y5 q1 L$ O. c# R
6 l7 t6 M9 v5 `. P3 ]( G$ f; f6 l
Shrinkage *theShrinkage;
, f: I; l* S5 F# H% D5 }
! O, t7 @: ^0 B# E& I: e  rShrinkage::Shrinkage()- i  y; J1 n& H, I( a
{* D. E. S# t* @3 o7 `' n9 o. Q/ X
    try3 E+ g! t4 G4 w- b& F5 S
    {
; p5 H7 H; P" L7 ~        // Initialize the NX Open C++ API environment" K% z. F/ i' f% P  d. {
        Shrinkage::theSession = NXOpen::Session::GetSession();
2 p7 R8 [/ C+ z% Q        Shrinkage::theUI = UI::GetUI();! r9 V. ?3 g5 J$ |2 w$ X
        theDialogName = "Shrinkage.dlx";- G* S* U  K5 v& u, l
        theDialog = Shrinkage::theUI->CreateDialog(theDialogName.c_str());
9 ^7 F4 @; M% ?; h1 U. w# A        // Registration of callback functions1 D' v3 ?2 P6 h% Z: O8 I0 [, f1 T3 H
        theDialog->AddApplyHandler(make_callback(this, &Shrinkage::apply_cb));
5 h* y# {; m3 s: g$ ]- y        theDialog->AddOkHandler(make_callback(this, &Shrinkage:k_cb));, t9 w1 h3 @: V- S5 ~$ z
        theDialog->AddUpdateHandler(make_callback(this, &Shrinkage::update_cb));
/ X  Y4 T# S; [$ E        theDialog->AddFilterHandler(make_callback(this, &Shrinkage::filter_cb));
) @" r! q* P  |' M  a8 S2 l        theDialog->AddInitializeHandler(make_callback(this, &Shrinkage::initialize_cb));5 j, l6 {7 B7 t9 |, z
        theDialog->AddFocusNotifyHandler(make_callback(this, &Shrinkage::focusNotify_cb));
8 x2 L1 S% p4 N# h" u        theDialog->AddKeyboardFocusNotifyHandler(make_callback(this, &Shrinkage::keyboardFocusNotify_cb));/ y' J9 W8 f- r+ y. X* k2 {
        theDialog->AddDialogShownHandler(make_callback(this, &Shrinkage::dialogShown_cb));& A5 X7 d+ b# w8 _2 I1 |9 s  p
    }& G+ ]* g- G* ]1 _. c2 {! K
    caTCh(exception& ex); v3 ]: Z( p  q# r. T& M
    {: D: U/ s6 K" ~7 t$ Y4 K
   
& \' M2 u* |$ L% s        throw;
/ W6 _* X! ]# }8 p' B0 j, D    }8 \: E5 e) x2 M+ {0 s2 e8 M- ]
}
/ o2 E3 P0 V2 ^. w" R) B9 s# C  }: t# U* D/ l* |
Shrinkage::~Shrinkage()
& _" l# [4 z/ v8 q, p{' L. U' q; ~" {+ H! s
    if (theDialog != NULL)
1 r& e% ^- V1 s7 s# X    {
" b9 C- F8 ?+ X# Z6 Z  l! h% B        delete theDialog;
& E+ W$ E) H' ^6 _# C2 K        theDialog = NULL;
' Z2 `+ h/ q) v8 m  U    }
* ?1 [; U: C% [4 W5 c( u}
$ u4 z: ^5 x" G! \2 V# j; R/ U7 @
- s0 q& r1 c% ?9 k#if USER_EXIT_OR_MENU" v9 C8 e$ W+ B# W
    extern "C" DllExport void  ufusr(char *param, int *retcod, int param_len)" t1 m) s4 J$ S- F- d, s( @" E# [
    {
8 b: u( s6 l: `3 F6 S        try  J  q, y& K& ^. X  g7 t
        {5 ~0 o4 X8 ]6 g' @5 q: z0 H
            theShrinkage = new Shrinkage();0 b7 `! }0 H+ _7 M" w# o6 V
            // The following method shows the dialog immediately
: K( N* E- ^. D6 p            theShrinkage->Show();9 t8 c9 [' C- N
        }
( A# [, t. a. ^( Z3 }        catch(exception& ex)  F- Q; x4 n* q7 }# p# [
        {
0 c! W; {% }+ ^2 t            //---- Enter your exception handling code here -----/ v( P' `) ^- B4 o
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
, \- m5 h/ Y+ @0 f! A8 O8 w        }
6 r. i7 p2 W* t        delete theShrinkage;# W# X/ N8 B4 R2 o8 C5 Z! h) I
    }
* }7 J' H$ N% C9 n8 m7 `#endif//USER_EXIT_OR_MENU+ e+ w  {2 V! T/ `' q
#if USER_EXIT
. V7 F& K" x/ n4 I3 Z: ?* t/ n) |- [   
( \0 I$ u- G" \3 E2 P6 W( i  A    //------------------------------------------------------------------------------4 p* I1 S2 G6 F9 u
   8 X4 q8 N/ s. P0 M
    // MUST NOT use this option since it will UNLOAD your NX Open application image* f! f9 b9 ?* e
    // from the menubar.
0 \  ~* C+ X2 k! z/ o* m    //------------------------------------------------------------------------------
1 u. m: J+ Q0 @* N  o+ v    extern "C" DllExport int ufusr_ask_unload()
4 A3 C" S# `- G: _( Z    {
' E  \6 i2 f/ v) V        //return (int)Session:ibraryUnloadOptionExplicitly;% W4 H5 h) s* r# s. e1 u4 i2 b& _
        return (int)Session:ibraryUnloadOptionImmediately;
/ s8 R# K+ G3 G9 \1 s0 @        //return (int)Session:ibraryUnloadOptionAtTermination;
  e" _/ x: v1 A. j    }# }# j0 q+ A+ u& B6 w( h, [( f
   
1 z  `" s1 V, H0 \    //------------------------------------------------------------------------------
/ p' H' i4 ?8 W" E! Z# q    // This method is automatically called by NX.
1 k- I6 `1 i( `3 j0 h    //------------------------------------------------------------------------------" G; M- b3 [$ ?$ M3 ^* d6 O
    extern "C" DllExport void ufusr_cleanup(void)* a2 i0 O/ X( `
    {
% B: q7 s6 _7 @/ t  V$ P# r1 n        try& g5 _, v( D& ?" f" i! D
        {4 i) K6 y6 z' a0 }( `. I9 M
            //---- Enter your callback code here -----8 B& T/ B2 x8 R( P: T
        }) U! |/ \! k0 `: d/ {6 v( \
        catch(exception& ex)
* `! R' h7 J& H; g3 x+ F, p        {4 t& g6 v: i+ c/ V: l
            //---- Enter your exception handling code here -----2 Y  v/ L8 K1 e* F8 o8 L
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());2 l% ]% E0 P0 d
        }
9 L. i* ~! S" t" G/ V0 f; U    }
" A: M( p4 d5 C6 e5 C#endif//USER_EXIT% m0 j+ @- s" A0 }1 `9 K% \
   
5 ^  o: n5 A( ^# v7 c+ g- G0 X    int Shrinkage::Show()% k% b& x; T6 u: [2 u8 h# k" R
    {
& C1 b  T# h; e1 `; l" Z        try% H) Y3 L) u' @& j" U
        {  B5 W8 ~! X- x& `6 G/ O% n
            theDialog->Show();, R* N) R1 A- f! B8 N2 Z( M; n
        }
0 q+ D7 i( z; ?$ [# K+ _        catch(exception& ex)7 ]) ?3 k! O4 D2 }& c: t
        {
+ m% a* R2 h/ O: D0 F$ p' G            //---- Enter your exception handling code here -----
& a* k4 ^" F' t8 @. C- ?% K' ]8 h; F            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());8 a2 m1 D; R0 g, R" @! }
        }
# g6 e7 Z+ l/ y% O& P        return 0;
6 ?2 M) c$ |1 r  S8 e    }  T* X7 l5 l, @" |# M% V
    ! ]" K1 S# e$ ?& y0 v
#if CALLBACK. K$ K- C0 W1 J+ n; o* ^
) L6 |! r# u- @
    void Shrinkage::Show_Shrinkage()
' w7 K' |6 |. n- R* b    {
' U5 i; h" K) K        try2 k# ]# x4 k5 y" @8 v7 I$ h
        {
- \: p, g+ G9 M% s            theShrinkage = new Shrinkage();1 a: c: {) M- v9 ?) G

. a) r6 j% N# w6 c# u            theShrinkage->Show();3 E  h% b  J. \2 [
        }
+ U6 f0 s) c; Y8 s        catch(exception& ex)( V( F  O# I4 A) G3 w4 L
        {
! g  {+ z1 j" P. Z
9 {& g, H, m5 Y* [' A0 C            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
$ M: f+ ~! S- ]  s( K6 Q        }
; f; e; ?- C0 L( k, l( E! u        delete theShrinkage;( R2 T- b4 [7 o3 H. B
    }* b0 u" h) O: U) x/ M. Y
#endif//CALLBACK( J+ n% T2 Z0 l# {
    3 |+ c; n3 L2 @7 }. Y
    void Shrinkage::initialize_cb()2 v+ v$ C0 j  t8 j
    {
% L9 R) X% k: _' l2 t4 g        try  D& }7 e6 j& f" H, k  H3 C
        {
8 b. ^1 J7 S7 }: y            group0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group0"));
! t: x! |3 Z# P% d# S7 \0 D            face_select0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("face_select0"));" T; j& o+ E& V' A* J8 l
            face_select01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("face_select01"));% w8 z" u; T& Z* e% n' I6 W
            group01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group01"));) |( a0 A4 [. f6 r& n* j- p
            bodySelect0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("bodySelect0"));$ |7 ?) F! W* H% B* Z
            bodySelect01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("bodySelect01"));1 y; z& Q$ A0 v. y1 o% P
            group = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("group"));' d0 ~0 ?& I% H  Y
            string0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("string0"));& r. z/ S  y% |4 k3 U+ g& N
            label0 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label0"));) ?% a# W/ u5 [
            string01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("string01"));
' `0 |$ B% b3 O            label01 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label01"));6 r$ v- _6 `  i1 }/ V- w
            label02 = dynamic_cast<NXOpen::BlockStyler::UIBlock* >(theDialog->TopBlock()->FindBlock("label02"));
' i: Q4 y% U0 s: Y# A$ J        }" q4 m7 C: x0 D2 E  y2 T
        catch(exception& ex)
2 `7 {* x7 S' [9 O        {* Y: i2 p% U' z
           
' i' W% F6 Q; x( \4 C7 @# K) {& v            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());8 S. Q" z: }  I
        }8 ^' L: ?' \! q" o' e6 W
    }- d  o4 A' h* J1 [4 V0 |3 V7 u
    //------------------------------------------------------------------------------! o/ b: H5 h4 l$ t& D* u
    void Shrinkage::dialogShown_cb()% _7 Q5 H. l" O7 `+ m2 ?) n
    {9 A5 z/ L" \7 [6 E6 }
        try
4 b( C$ Z& ^" x  _        {
, F5 ?* Z7 z5 X3 ?" M            //---- Enter your callback code here -----/ B: p9 x& s) v) J5 {5 ]8 j7 F
        }
  J2 }4 g9 T) y; K7 z        catch(exception& ex); e! v) x+ W. ~" a
        {
1 ~% p6 T, u8 a, z
. P% E- ]3 }$ ]& w/ P/ |            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());
( I! b+ k  C  j" f4 ?        }
4 D6 H$ N6 v% K! h0 z( W; v1 i/ p    }
; V  _. u( s# k0 ^: L/ `   
( @; ^$ g6 p& `/ G9 q& Z+ B    int Shrinkage::apply_cb()$ x& v1 _0 Q# Y' g( K
    {& g5 @* }, R( ]. c. Q
        int errorCode = 0;
2 {- j* z# p3 w6 V% [7 \7 }        try2 K5 a' V  e( }% ]* `! q
        {# s* O6 d, D" U0 u. Y  m/ X
            //---- Enter your callback code here -----
, m0 i& y5 N, S! q6 y        }
* O; T. d$ D1 j7 l) }$ y        catch(exception& ex); T/ a! i; f1 p5 h: t3 u
        {( E* |8 V4 t4 K6 Y: n1 X
            //---- Enter your exception handling code here -----
- x* b9 g3 z5 u# j            errorCode = 1;
& b7 }! P6 Y) t$ R9 F7 i            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());+ ^8 o( Q' q) Z. g
        }
* x0 p" F3 [* e        return errorCode;0 ]  |0 Y* {$ C+ C: B) n5 q
    }: k2 ]. O) Y# f2 s1 m4 B: l

- D" ?/ K) {- d& y% s3 s7 d) _$ T$ p    int Shrinkage::update_cb(NXOpen::BlockStyler::UIBlock* block)
3 Z" O. F) {4 v. i! _# q# a. ^    {. K$ k5 f1 |8 S9 \
        try
  O* J) Y* f& E4 r5 F! N        {0 x# F& \( D  r! {, y
            if(block == face_select0). o0 c1 Z: o4 K) m  C
            {
1 b  ]# o9 B( I/ G; \; `            //---------Enter your code here-----------
' F- m( _$ g  Q1 [7 T. {- F/ m            }+ N4 o5 ?9 c& A+ c
            else if(block == face_select01)
* T. d$ e, U4 r: n3 N            {
1 n- O: j1 D7 ?9 f            //---------Enter your code here-----------
- l" r) N! \( B, ?) f7 D4 r            }
* S! m3 C3 D4 `) x  x  O# z            else if(block == bodySelect0)2 h- B' H! E9 K) M7 K( t
            {
& p! a4 ?( v9 ]0 y  B* G            //---------Enter your code here-----------" d$ m4 K/ B. y, p4 \
            }1 J0 N2 [1 z) i; W" v
            else if(block == bodySelect01)
8 `& |+ ]; n$ Q& X# c  ^            {7 L/ b/ w+ H  @& N! g; W) r' l& v' ^8 a7 U
            //---------Enter your code here-----------6 ~3 k3 i1 ?% v. _. b
            }6 J/ W, `5 I% m, e8 w6 Z9 x
            else if(block == string0)
3 B% \# d5 K7 G  F            {4 k- {: I, n1 ~
            //---------Enter your code here-----------8 @, K$ _, \- |1 q7 A8 q
            }( D$ i2 t3 s9 L
            else if(block == label0)" [$ y" B3 h# \- B" [4 t# V
            {
3 C3 Z2 K2 W: |$ x            //---------Enter your code here-----------
5 n% b/ w  y: W  ]9 G            }! {: A& G- w0 x( E+ [
            else if(block == string01)9 V9 u4 y+ k; U- r; H
            {
+ D: c$ z& ]; |" F$ O            //---------Enter your code here------------ X' T# R6 A; Y+ t( M7 o
            }
$ k5 t$ [& U+ u/ I0 X6 l! q  w            else if(block == label01)
5 I0 A9 ^7 _. P4 T: Q            {
) l3 v% }6 X4 l' Z# O            //---------Enter your code here-----------/ l. h0 U4 {' c3 W- D& U( _
            }
$ D2 M+ D' {$ Q+ w            else if(block == label02)
; [; c+ Y, F# Q' o            {  \, A. |& i+ T5 R5 H
            //---------Enter your code here-----------& J) Q0 B- A$ a% M6 E% H7 D& v
            }$ Z1 i  v. p" F% h
        }
# J2 |5 j* ^9 ]! _& R9 M: j# R        catch(exception& ex)
( @7 F9 I1 j- r* g2 }* j- Y        {. U2 |  i' t# G
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());1 y2 y' N! |: f9 \9 a- l& u/ W2 S2 Y% d
        }% ~2 L- n5 X- e: L$ J
        return 0;
2 C3 \& ]0 ^- Q3 e    }
! y; O% z/ E5 g+ n# y    " c) M2 G: `' d1 }' E/ p: o! V
    int Shrinkage:k_cb()
; \8 n) U; P3 Y0 ]8 S    {
. Y, i: y6 @0 j2 I* j        int errorCode = 0;5 q: ^9 l$ P, v7 `/ h" i* ]1 ^/ j
        try4 y' X9 c; K+ |1 ]* l4 s
        {
' Z4 e4 E+ A+ Z( E1 z0 r8 Q            errorCode = apply_cb();! f" Q' m7 I! r. w' T* h( L
        }1 G" K( ^$ A1 V
        catch(exception& ex)
1 U, \/ m$ E1 p0 A( l2 o0 h        {
$ M, R, e7 o+ Z: o/ M4 M+ f  M            //---- Enter your exception handling code here -----* O3 U0 C+ T2 p5 |% x# T' p
            errorCode = 1;
  m, w; A: b: C" ^3 P( _            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());3 T' @- m2 T+ U$ O1 x6 W
        }" T5 \1 C  Y& f+ `% ^. J( z) z0 n
        return errorCode;" ~6 L1 ?/ e1 H  j. U: B
    }& I$ p; ^0 z1 u) X; H
   
5 \: u1 N0 I  ~. g. j% B    //------------------------------------------------------------------------------1 K9 H* Q! Z7 V+ D: H: w
    //Callback Name: filter_cb
, z, T, Q( H( c+ X/ n' e    //------------------------------------------------------------------------------( E4 j2 e' a# X# \! k+ K$ @; b1 E
    int Shrinkage::filter_cb(NXOpen::BlockStyler::UIBlock*  block, NXOpen::TaggedObject* selectObject). g% A5 Z2 f* Y- O6 f" \: y
    {
7 k' Y3 g; V( K0 f        return(UF_UI_SEL_ACCEPT);' B+ |! W% Y4 X3 [5 A3 e* T
    }2 r# f) ]- W- G0 O% m
    / r/ M* ^, d% g* r* e
    //------------------------------------------------------------------------------
- q% k8 ]8 _9 o$ y, V' v9 z' a" n) [    void Shrinkage::focusNotify_cb(NXOpen::BlockStyler::UIBlock* block, bool focus)+ D" T- J! \2 h
    {3 ~4 w$ F% z3 w; I
        try; X/ |# Q/ D+ R( x8 O
        {2 |- t0 |; r3 X& a. R# @- p& Y% y7 K. O
            //---- Enter your callback code here -----% x( Y5 }5 ?: X3 R3 _
        }; [4 \& k! M% K% @' W! V9 h
        catch(exception& ex)5 x2 l& s$ X+ v- E8 j- O- u" P
        {
; l3 ~, e9 p, c3 o# X8 y            //---- Enter your exception handling code here -----% H  K# O+ R" T' u  @, T
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox:ialogTypeError, ex.what());+ k/ A4 l: _3 `/ U: ~) J+ O
        }! [  J) f( j' G3 @- l
    }
/ E% ?3 k; o7 `: c   
5 q4 ~0 f' Z% d    //------------------------------------------------------------------------------: w/ m$ b$ z: i) W/ q2 w
    void Shrinkage::keyboardFocusNotify_cb(NXOpen::BlockStyler::UIBlock* block, bool focus)" ~0 Z0 ~1 A) A, c: v% t: z
    {2 u# a  l0 p# |; E
        try; R4 B5 o: I! g2 s( z
        {" u- p/ S0 R3 o. v: D' K
            //---- Enter your callback code here ------ W( p, I3 ?1 L! R+ f1 J' B% ]
        }. ]  p, c6 K1 p7 A0 F! s
        catch(exception& ex)
3 h9 O( o- i* o        {
1 Z5 y1 }* k& l* J8 i, d, f" }. Z) A5 x' V8 k: P
            Shrinkage::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
( D' z) j2 g5 d: e+ F        }  s9 X; U! g) t1 V( A
    }
" f/ f$ g+ R! t) h' P# H# H. B& w
' [3 E: p/ y' g. p" r6 K
22.jpg

application.rar

9.79 KB, 下载次数: 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二次开发专题模块培训报名开始啦

    我知道了