|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ V; ]( }1 d* G
/ q }% t9 g @. mTeamcenter二次开发 判断当前对象是否被check out
0 E2 k" I' v, }: h S[mw_shl_code=cpp,true]#include <iostream>2 |% Z' z: }0 b4 d. o
#include <res/res_ITK.h>
0 w2 |! Z4 V( p! M#include <sa/user.h>
7 Y0 \9 X& D6 {#include <base_utils/IFail.hxx>
, i9 [! O' Y; M. k0 `#include <base_utils/TCResultStatus.hxx>9 Q. W5 Z7 R6 g
#include <base_utils/ScopedSmPtr.hxx>9 v+ \$ `; Z3 Y
* @7 F) ?4 | \$ musing namespace std;
) R; M& o+ w8 |: H2 Y Lusing namespace Teamcenter;
7 u+ L% |& |+ \8 P% Y" h- N
( l. e: J) k# a/ R6 s% mstatic logical is_instance_checked_out(tag_t object_tag)
# y' w* ?1 d* C8 k{
" D2 |/ N( X- G; F& r int ifail = ITK_ok;
7 k! f- b, b0 y* d ResultStatus rstat;
- ~2 A: ]( {- X logical is_checked_out = false;+ j3 ^; Q; S0 R( ^3 e& X
try* _! z, d& E/ H) m
{
7 m% H3 ~& x, d ]+ R3 j, Y5 l rstat = RES_is_checked_out(object_tag, &is_checked_out);$ \" q: L/ w; D9 k2 Q! M7 k
if (is_checked_out == true)0 E% H, n: N1 E5 e% Z2 j& m
{0 F- g/ Z6 l5 I2 S- s. W1 Q5 D- N
tag_t user_tag = NULLTAG;" z3 X6 |+ X, e# v0 a# D
tag_t group_tag = NULLTAG;
2 c2 z! T0 w. Q/ ?- P. G rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); , ]4 t9 `* L- r- j* g
* c8 U6 B& g) X, i. O
scoped_smptr<char> user_id; ' r3 s7 F) c4 K0 t2 M
rstat = SA_ask_user_identifier2(user_tag, &user_id);( K9 R9 P* |3 Q( P/ \
; P9 ?* L R: \) D8 m) v+ {
char msg[] = " Checked out by: ";; S0 ^: ?! L- ]
cout << endl << msg << user_id.get() << endl;
( a2 S6 Q/ N2 t) H' q# b5 C# _ is_checked_out = true;
* W8 y' r3 ` v$ d+ q! ]2 R g- A }# j. U5 ^" o: w8 U
}
4 X1 E+ ? R9 @3 s1 ~ f catch( const IFail &e )* p4 Q" G+ z- E
{( p+ D/ U) v F+ o: A, m4 X. R
cout << "error " << e.ifail() << endl;- ^. ^. {; S q7 E
cout << e.getMessage() << endl;- q6 _8 J. M$ T6 v/ \
}
' W2 c- S' l( ] return is_checked_out;
7 t/ K6 p2 I% N/ L) w}[/mw_shl_code]
( F* B! N4 F9 L! j! K |
|