|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
; R) h- `8 {5 Y& hTeamcenter二次开发源码分享:判断对象是否存在在数据库中) r+ L9 n6 J+ v; u' M) p. r: @
, C( p- ]1 I# e' Q' f* P/ u#include <TC/tc_startup.h>
( r) _7 w$ u, j* n% w' f9 R& U#include <pom/pom/pom.h>
7 a, \5 ]% M* z8 \9 L6 {0 A3 Z/ U% R#include <ITK/mem.h>
: ^; o( C2 ?; ~ E* ]#include <tccore/workspaceobject.h>
; L3 M$ b: ^1 Z" p- U) Q2 R; S$ E
2 C9 Y1 M D! k1 jlogical is_instance_in_database(char *variable_name, tag_t object). e6 p2 `7 w6 A
{
0 l& l! G& R9 H; a) p8 G( a logical exists_in_db = FALSE;; E! l: ^/ t7 {7 I, e4 ]3 x* i
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);( ?, a' G3 S' k0 s7 X
else
; Q( K' x0 V* ^( Z {
9 [" T4 f& f5 ?, O# w char *uid = NULL;* I" G9 |4 i4 ^) L4 @: R* h5 x, t
ITK__convert_tag_to_uid(object, &uid);, j6 b* e e( n9 b+ U9 \( ~
POM_instance_exists(object, &exists_in_db);0 b( x" c4 A/ g* d( P: V9 E
if(exists_in_db == TRUE)1 z5 R, |: `; R; ?9 P2 T& ]
{
. Y9 B9 i! t" G) w6 W/ P2 F0 t# E if(is_WorkspaceObject(object) )
9 u( H' @$ H; F. H9 h+ Z( P {+ G! c. J: i9 r* G7 M& g
char *object_id = NULL;
8 s4 i1 h, F% c1 } E" m& }- q IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));1 ], D( y3 r: h( @) ^
char *object_type = NULL;
6 F+ E, u d. _; ]1 Y( H# k IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
* p& b1 P# _% W% i- ]; D ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", ) }! \2 H- g6 B6 h7 J
variable_name, uid, object_id, object_type);6 T4 m* F' e9 P) C, P0 L Y4 ?8 Y8 p
if(object_id) MEM_free(object_id);
5 B1 p6 j" V) t! U if(object_type) MEM_free(object_type);& k8 T8 f* @6 |$ Q0 k( v
}
' r) Y. }" _: }7 j, g else ECHO("\t %s: %s - POM_instance_exists: true\n", 6 c. x4 Z! Q- V p& {
variable_name, uid);
9 x3 @6 {5 C9 r1 p( N5 S: d }+ W4 `1 H8 k/ L
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
j4 r5 B( R+ \* H( m' O if(uid) MEM_free(uid);; `/ f1 m5 _- _& v# Y, Y6 i: |4 s2 T
}% F) ~% y: b |9 A8 K3 b) @( g
return (exists_in_db);
! Y8 X6 f; t) `}
8 R% V2 f0 H9 j |
|