|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 q* U! y) d% z& x3 c5 c
5 J& k1 Q, a& |
Teamcenter二次开发 判断当前对象是否被check out
* }0 A q8 o! {$ \( r5 C( E2 {[mw_shl_code=cpp,true]#include <iostream>. r. i9 q; W3 e2 \8 }$ x- n
#include <res/res_ITK.h>
" a) ?# D9 _; {) i9 r5 S0 q#include <sa/user.h>
* @1 p1 L0 [. M A4 ?+ ?" o#include <base_utils/IFail.hxx>
* U4 [$ {1 h8 J4 i% _ A( r#include <base_utils/TCResultStatus.hxx>, R0 w; U" v3 ^) N
#include <base_utils/ScopedSmPtr.hxx>
+ W% E8 N) V2 ]
& ?. k/ u9 w- T; yusing namespace std;
2 I0 N8 z7 b9 @* yusing namespace Teamcenter;3 ]8 i5 x* L; A% j% D
, u# {5 N, T; Lstatic logical is_instance_checked_out(tag_t object_tag)/ r- ?9 P* p& V
{
1 c4 Z- ^0 T8 }: Y int ifail = ITK_ok;9 I8 v% e, m/ ^
ResultStatus rstat;
8 G0 t3 _: ^& j' I. s7 G4 e logical is_checked_out = false;; _% M% Z4 n' z+ _
try
- ~0 N% G x2 O0 X; u2 @1 G! s+ s. M9 P {. k; B# v* i3 R3 _8 Z* }
rstat = RES_is_checked_out(object_tag, &is_checked_out);
1 c' Z) A1 `! a! y if (is_checked_out == true)- e+ k# h! s: K& U6 V8 l" T/ ]5 T
{9 Z- i& ]5 n) |" a9 j! y
tag_t user_tag = NULLTAG;! {. b/ e$ _9 K3 d/ ~
tag_t group_tag = NULLTAG;- y m4 @' z! r& v# Q
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
2 f0 R! g, |/ [ p% A
8 K9 }; N& u p, y scoped_smptr<char> user_id;
# I8 `/ M5 H/ m3 S% e# I) h) T rstat = SA_ask_user_identifier2(user_tag, &user_id);" C8 w4 E4 O3 t& G
2 W. a. q# ^% |$ ]4 B
char msg[] = " Checked out by: ";
& d1 V$ N- ^: l2 Z+ P' [6 s cout << endl << msg << user_id.get() << endl;
7 g* W- N/ Y N is_checked_out = true;
' k: z9 w0 p! E( z1 ?1 A0 P }
# B6 q4 u; U2 b! Z7 Z+ d8 H( u$ S3 L }
# S2 ^# a/ p/ R' v/ M$ d# Z catch( const IFail &e )! E( |1 M! [( ^' h2 f! h
{
: J9 A/ b u; ] cout << "error " << e.ifail() << endl;, s8 e& v* P U. @- j8 @
cout << e.getMessage() << endl;
1 D5 W2 Q! d/ g( q; m( R }
$ G: f6 P. j+ O8 r return is_checked_out;
* P7 E% E+ M* c. R: m7 Q, E}[/mw_shl_code]6 P# h2 ]5 i8 \) w& W T9 d, O
|
|