|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# a6 r! y6 o8 H* o6 T# G3 D9 F4 bTeamcenter二次开发源码分享:判断对象是否存在在数据库中, a. g0 `, @! D2 ^2 X
! @4 h# ~. L) U8 V+ M2 `#include <TC/tc_startup.h>
1 s* `- f% h& S! B#include <pom/pom/pom.h># Q0 U* `) d* w2 e( _
#include <ITK/mem.h>
/ e$ I& R" ` a2 D1 q8 w2 g( W. H#include <tccore/workspaceobject.h>. B) k- h( x) L: J4 l/ n, ~
' p7 h) i" W+ plogical is_instance_in_database(char *variable_name, tag_t object)
/ X( R4 A6 t4 D7 ~5 x0 @{* `: h7 a; Z# [+ g" ]
logical exists_in_db = FALSE;
' Y& L& Y; L+ v; i, i _# J if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
5 @0 f5 \, c- `1 { else
' M' @% X7 `+ i2 @& T {
- e- G: [% n" |9 Y char *uid = NULL;
C$ X2 H( W& Z+ l4 G4 t' H/ a ITK__convert_tag_to_uid(object, &uid);! c6 i! H# e8 P1 \1 r
POM_instance_exists(object, &exists_in_db);
8 I1 g, d# c. q: R* Y0 o if(exists_in_db == TRUE)
: k# Q7 k+ d2 [* m- q, T {, f3 J& c" R3 W
if(is_WorkspaceObject(object) )
8 o: {$ Z4 f$ F3 X: F* v/ } {; x# p5 k3 o" g% Y. l; P& b
char *object_id = NULL;* r" |# j% E8 p% x4 |+ m
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));2 ?/ d8 T9 z5 A' @# p
char *object_type = NULL;# I, A& N3 R" ^& L5 p/ O6 X+ m6 l7 n
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
; ]+ n8 I" M' R5 w ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", % D( u! y0 F/ p& E# F0 W7 e
variable_name, uid, object_id, object_type);0 t0 M) G7 D0 W) M
if(object_id) MEM_free(object_id);$ X5 f5 `* G& ?$ W+ P/ u
if(object_type) MEM_free(object_type);; W% C6 q9 e3 g; A' ]- n
}; l, f7 o5 _3 M8 t" A4 K& U: \3 f
else ECHO("\t %s: %s - POM_instance_exists: true\n", : D7 f4 g$ Q5 c6 V% B
variable_name, uid);
4 G X+ H2 C2 y- L( J! ]6 j Y }+ k0 H7 C6 {2 L9 h3 V% Z
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
' t/ R- k3 k+ u! y$ o0 u if(uid) MEM_free(uid);" Z# X$ c- w/ s5 h
}# ~' ]2 S2 T) m. _* w! X V
return (exists_in_db);
4 Y5 a4 b% j! _ G: E8 Y}9 n" {" W( w$ P
|
|