|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% K& {$ T% ] N) A
% m& i) P3 C7 W6 n5 N' `+ z1 n( FTeamcenter二次开发 判断当前对象是否被check out5 O' k9 N* B6 S" Q" z
[mw_shl_code=cpp,true]#include <iostream>+ @; C1 a+ X& l6 m8 W
#include <res/res_ITK.h>- w1 B( M/ S% {# \
#include <sa/user.h>' s, f* a3 h \! B3 }
#include <base_utils/IFail.hxx>
2 h% [5 ?3 G# P7 g/ }3 l#include <base_utils/TCResultStatus.hxx>
, `! h+ K! @( o8 I' H8 F, L#include <base_utils/ScopedSmPtr.hxx>
9 }4 R$ I# M7 K; U# d$ o
1 r* _- X `( g1 ?5 m$ K, V, jusing namespace std;8 e* E) J. E& N X5 t6 ]; M
using namespace Teamcenter;
$ }. _1 Y% B- S" H& A: Q: V* A
" a5 D4 ?8 o2 j1 X8 I+ d3 Zstatic logical is_instance_checked_out(tag_t object_tag); W2 ^/ ^6 W# M2 w5 Q; g x
{* S0 t4 Z5 B$ v" b$ O& S. q) ^
int ifail = ITK_ok;
# a1 n& K1 b# X7 ~* }4 ^; G ResultStatus rstat;# q! F& `. Y; f' O
logical is_checked_out = false;; k- _3 @+ p/ @- V! X
try. G( I; [; v( K7 Z3 C
{
/ J; L! t8 z/ Y. w rstat = RES_is_checked_out(object_tag, &is_checked_out);0 b5 Q+ |1 k, c: `' v
if (is_checked_out == true)
3 c& M! ^3 z/ F/ `( P/ I* ]. ~+ t {8 B, ~7 l! q2 j
tag_t user_tag = NULLTAG;
' z/ Y2 w1 g" h m' h% j tag_t group_tag = NULLTAG; V' H& ~0 a& }' j
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
$ R9 o. X) h( ?; ]) C* n7 D4 A
( i6 q' t/ F1 K scoped_smptr<char> user_id; ) t G. O- Q* w- n3 w
rstat = SA_ask_user_identifier2(user_tag, &user_id);; i& R& i% t) Y9 b ]+ A! i% T/ l" b
8 z3 i: o: M2 z2 e& I char msg[] = " Checked out by: ";$ R) P- ]0 S. B; ^8 F2 x2 G" j
cout << endl << msg << user_id.get() << endl;! m1 X& K, V8 T/ |; D. @" g: }
is_checked_out = true;
9 H/ s) o o; o5 p0 P+ r }
5 m1 o& J7 d3 F: H }' h. x! E5 o! I7 k
catch( const IFail &e )5 r# q2 ?: u# u7 A. C
{# K; w+ W8 t5 t
cout << "error " << e.ifail() << endl;
+ T# Q/ X( }# y5 r5 h. R& g* X cout << e.getMessage() << endl;
1 @; O2 @* [- Y }
1 N& m8 A4 E' R0 l- m: K$ G return is_checked_out;
4 U) ^- _( N; j8 e u}[/mw_shl_code]
3 _7 w* a0 i1 J5 o3 Q; j) y) @ |
|