|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. i) a: Q2 c0 f% z
( q2 j3 {" e. |* u! S- |% \3 X
Teamcenter二次开发 判断当前对象是否被check out2 N; P+ X' U1 I; d& |
[mw_shl_code=cpp,true]#include <iostream>3 k6 Z9 \7 i, W! O; |& i0 Y# s6 ]3 L
#include <res/res_ITK.h>
2 g8 J% o) m8 b! `. j1 e#include <sa/user.h>1 S8 e" s0 R& p* ]
#include <base_utils/IFail.hxx>
+ J' r5 ]5 s$ W2 Y#include <base_utils/TCResultStatus.hxx>
( j% U/ a( h" C5 C% S! a#include <base_utils/ScopedSmPtr.hxx>: t0 s0 `( [1 h! Y& Z+ @
7 y: Y2 o6 E( @) Y$ S) ]* P
using namespace std;
' g1 P; t- g3 F; b5 |5 U5 Y" @using namespace Teamcenter;4 p) t \. b) L7 K
+ n6 @% U$ e! X3 Jstatic logical is_instance_checked_out(tag_t object_tag)
, A" D- w u) d{
, W# k1 G N9 C# M3 v6 w int ifail = ITK_ok;
" S# w/ k: v, \; I4 U8 Z ResultStatus rstat;' W( j5 l/ O5 i* p* `4 s& O
logical is_checked_out = false;
. }$ Q# L6 a6 L: m5 a$ W: r try
" \6 h! Y4 T9 R {; g. V% N! u3 @0 y& o3 i. I/ T) X
rstat = RES_is_checked_out(object_tag, &is_checked_out);
9 J- O) \" k; `$ E$ A+ Q if (is_checked_out == true)
# g4 J/ H- D* E& G {3 b# L9 l1 t" K
tag_t user_tag = NULLTAG;
* u7 P2 S3 e1 C- u) ]' c" c tag_t group_tag = NULLTAG;, e; D3 v& D j2 L* _
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 9 Q: F% l& j( U; x% [
9 ]# L$ \# u- Q scoped_smptr<char> user_id; / T0 c' k- s0 N( L
rstat = SA_ask_user_identifier2(user_tag, &user_id);+ S3 F/ g: u m8 f9 c$ Y. p( z
- {( l2 m+ L2 G& G7 `
char msg[] = " Checked out by: ";: o$ _3 I3 Z5 t: N+ ]# p! K
cout << endl << msg << user_id.get() << endl;' _3 ?- l; i* ^4 j5 ]% b" |
is_checked_out = true;0 p% z+ Z" a3 G" j
}: A* f+ o \, l1 ^4 B
}
t8 T. L' G" [8 h, [+ j7 D catch( const IFail &e )
$ Z4 p2 ?( S) H" _/ m2 `6 V {
/ ]# I5 M( u2 _; z* _ cout << "error " << e.ifail() << endl;- C% i, o3 Y8 M* O" V) G& P2 q
cout << e.getMessage() << endl;
. Y8 n) q6 O& ?5 e }
u# ~5 w7 }! ]1 Q: b return is_checked_out;
; u; x, P$ a6 \0 H! V# O0 R$ A9 [}[/mw_shl_code]" O0 D x. F* Z1 P9 t9 H
|
|