|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
5 y6 [0 f7 n1 k, N4 Z' B" x8 b5 w2 M
Teamcenter二次开发 判断当前对象是否被check out
& k9 F$ R# Y4 j6 @[mw_shl_code=cpp,true]#include <iostream>
5 [; a% J& m6 Y& t4 T' r#include <res/res_ITK.h>6 ] y) D% b N: }1 y. V6 n, b
#include <sa/user.h>
& m3 r, s# _* n$ j6 A2 F#include <base_utils/IFail.hxx>/ {5 R; z S- R
#include <base_utils/TCResultStatus.hxx>9 s* ]# c$ b6 {! z/ B. l- f
#include <base_utils/ScopedSmPtr.hxx>7 `! R/ W& V/ R+ f2 Q9 W
4 o& u8 D6 P) r7 E+ u9 v
using namespace std;
& w& G5 }# Q2 v( husing namespace Teamcenter;
) {! D: o6 u2 o/ x: p/ W
* o& v+ k/ F0 _$ {( S9 v8 }6 ]static logical is_instance_checked_out(tag_t object_tag)1 M# Z x! F o5 X
{
8 m7 \! t% a! _& Q' T" P9 `( c) w int ifail = ITK_ok;
$ M$ {5 J6 K' X% o ResultStatus rstat;
, ?8 V# c5 [( q* A logical is_checked_out = false;; ~$ W- {; m7 [9 ^$ O, r
try
5 P4 c# t- x }3 U3 |5 N {" s8 Q; O4 l A5 x" v! G: b
rstat = RES_is_checked_out(object_tag, &is_checked_out);
( a5 d$ D6 Z2 ^+ r6 t if (is_checked_out == true)
2 F( F$ w% E3 \7 \ {
& M |* T$ l- s2 y( e: x tag_t user_tag = NULLTAG;
4 L5 M) H0 Q) w. ~) J tag_t group_tag = NULLTAG;; I# R) y) n" o2 Q4 w, T
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); $ k9 T' w" q0 ?* C8 g
' r, N- ?. D- |8 V/ h% X scoped_smptr<char> user_id; " ]3 e& u8 d( _, S, s
rstat = SA_ask_user_identifier2(user_tag, &user_id);
) `5 q: F! n2 N* a; v
6 m$ q7 T' y: P9 `2 B/ C% y char msg[] = " Checked out by: ";2 I" Q, @: B: |8 \' X
cout << endl << msg << user_id.get() << endl;
+ G0 y& J2 [& M2 f* b i8 j is_checked_out = true;
, [2 U' K ~: Y$ _6 p4 x }* @2 k& r" R: T U! n# z3 ^
}
1 Q5 o. i0 F: m catch( const IFail &e ). G3 n3 O- a; u i! P7 d( N$ _0 K
{
. B8 S( z4 W5 x# O- G cout << "error " << e.ifail() << endl;
- T7 z+ p( T. G% d* v cout << e.getMessage() << endl;0 {* p. j% n; b+ f8 n
}
+ k; F4 \, k& K8 Y! V return is_checked_out;
$ m# w. i' p0 D+ \& d) d5 } S! X}[/mw_shl_code]
W2 }+ J; K4 U3 s- o |
|