PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

Teamcenter SOA开发中关于变量声明,转换等代码的新处理方式

[复制链接]

2015-2-3 09:18:14 3682 0

admin 发表于 2015-2-3 09:18:14 |阅读模式

admin 楼主

2015-2-3 09:18:14

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
Teamcenter SOA开发中关于变量声明,转换等代码的新处理方式" B  f. v6 R, m8 i6 a! m: t' b; ?
- T. P+ c  R/ m

$ ~- N; w1 ~$ C. ~1 变量声明! g, R6 {& l4 P' {  L: ~
7 J; M" s- j& n: s& y4 [
5 q& Y* t: H. s! M0 r
o Old way" d: Y" k& k% _& H: k: c# X
// Declare pointers for an Item, Form and vector of ModelObjects
. y6 X0 i" h' o& O& {// initialize to NULL4 l2 P9 y3 U/ n+ Z
Item *theItem = NULL;
" q( k! ?6 D* DForm *theForm = NULL;' m" j% A, `, ^
vector< ModelObject *> objects;
( F! A. }( n/ X2 c...
, u8 ?! C( b7 y1 z/ U, m' g. b8 X// Use the Item
/ V. J4 ^' ]1 g- x! a" ]8 d: ntheForm = theItem->get_item_master_tag();! T' m" k+ i5 j/ ~0 u
objects = theItem->get_revision_list();
) z3 e- A8 e1 ^o New way
; }6 d; `/ {& T# u/ e5 T, E// Declare AutoPtr for an Item, Form and vector of ModelObjects1 e- H6 b: v( b) |( ~
// all AutoPtrs are instantiated as NULL
4 W6 z6 ^3 Y" ?/ q+ rTeamcenter::Soa::Common::AutoPtr<Item> theItem;- k- Q# K" I" K; B+ U; M7 j9 A9 L& g
Teamcenter::Soa::Common::AutoPtr<Form> theForm;* z1 o6 R( x$ a  r+ _
vector< Teamcenter::Soa::Common::AutoPtr <ModelObject> > objects;
! g4 H, m1 j/ [) g// Use of the ModelObject variables remains unchanged
: k, h& k& _/ i9 a( btheForm = theItem->get_item_master_tag();
/ Q% K! Q8 Z& ^1 W& Eobjects = theItem->get_revision_list();3 L! D' a, D7 R5 Y' ^* C

; f, q7 C& y% D  j! v
! L* x& B; r4 v% p  e8 L$ i7 @% j2 类型转换 , l8 s8 J8 c' n7 m) @3 Y
3 u5 V" Q, d, o3 ]
o Old way
6 r1 r& z7 }/ B& j& Z8 z8 b1 \% @// Declare the variables# t  i) {# z, U
User *user;% N5 r. p( S7 o& O; a8 C% e, M
ModelObject *anObj;
6 T3 i$ T0 P( ]7 d% Y! u7 z8 d2 nFolder *folder;, c# `  _! K( K' L" o" Y" e
user = sessionService->login(name,pass, “”,””, descrim ).user;
! j3 ?$ `" F) r0 J5 Y// Cast to the base ModelObject class- p7 ^, e1 u* m
anObj = (ModelObject*)user;4 Q& q+ h$ T$ i: f* g' z
// Cast to a speicfic sub-type, if not NULL' t1 w: z5 r+ b0 q& M# t
// do something with the new pointer
% x6 b2 T+ M& [  d, R. A7 Wuser = dynamic_cast<User*>(anObj);1 C8 p. `1 f0 g% N
if(user != NULL)& A. R" V+ j3 H% C3 G& |: d
{  K/ G; ?7 Z% c. o
folder = user->get_home_folder();# J; ~: i) R: ?2 D; y
}2 Z7 B- C4 R( l. R# W
o New way* A1 x% w3 v6 r
// Declare the variables" p% M, I1 V# }
Teamcenter::Soa::Common::AutoPtr<User> user;$ ~* w6 m+ S& y& h9 T; T
Teamcenter::Soa::Common::AutoPtr<ModelObject> anObj;5 v' ~7 X  n2 k& R1 m+ F* x# x
Teamcenter::Soa::Common::AutoPtr<Folder> folder;
. s" t# s3 T% b( |user = sessionService->login(name,pass, “”,””, descrim ).user;- m6 \# g% s/ N" Q# p1 L, H- K
// Cast to the base ModelObject class. {5 }$ }) P9 f
anObj = user.cast<ModelObject>();
* C( @" P! [0 k* i' L9 u// Put the cast to a speicfic sub-type, in a try/caTCh block
, r8 _8 Y4 T7 K9 e: U// if std::bad_cast not thrown, then cast was successful9 w8 ?( {8 A1 `+ O+ y- c
try" F3 R  Z: e" \* f) u1 [
{
$ B5 d- V% d0 Juser = anObj.dyn_cast< User >();' \" e; z" E' l- X. D
folder = user->get_home_folder();
2 `- y' N: o: O; W+ l* z0 m  t+ p}
4 M& {! O7 f0 w) t) r4 Xcatch(std::bad_cast&){}
3 ~% z6 t& v7 p3 V/ b3 w; j  L/ L& d6 A1 G% ?6 m

! E( m+ W1 @! b3 关于NULL 赋值
) `8 C8 j* }0 ^6 n8 c: T; ?* V0 r1 [1 f
o Old way
& T3 W, @# m/ b" _0 v* d1 R' W0 e// Declare the variables
1 l- e; v' e/ [# ULoginResponse response;
1 ]0 g" `# O0 `' o6 K1 D7 t2 sUser * user;: D4 E; Z( \% u0 e# N5 l
// Call a service that returns a ModelObject (User)8 |3 {) M9 j( w! ?  g
1-28 Services Guide PLM00076 Jresponse = sessionService->login(name,pass, “”,””, descrim );
- c6 d/ p6 T# `6 o# Y% p/ y3 buser = response.user;; h* H- Z! U. O. ^
// Test that instnace against NULL/ E2 {. [4 T+ r0 b4 p7 r
if( user == NULL)
, g( ?" U. k8 `" I3 H+ v% \, w{. k6 [' A2 N1 I
...* h: u- R# f  y7 S: F) W" y4 K
}5 b& m3 s9 k: Q4 S( r
else8 j+ N4 |! B& J4 ?
{- L% z$ R" m5 e9 |
// Assign NULL to the pointer
' O, O6 r- j2 K, _: r  C4 Uuser = NULL;
; I8 v; ?& r/ L3 V9 P}
1 }3 O: f4 d  S; k/ F( O8 G2 to New way
9 d, C  D' G' A: e' c* `// Declare the variables: ?, o: n( I4 @6 k) f
// The service data structures do not change, only
& N! ~. n' K; U) |! t// references to ModelObjects
# O- L" n/ C  B- o% DLoginResponse response;& {3 Z' A: D( t
Teamcenter::Soa::Common::AutoPtr<User> user;
/ H7 y2 U5 Z4 t8 n7 n6 x// Call a service that returns a ModelObject (User)! Q; H+ o% {) f, p. R7 [9 t
response = sessionService->login(name,pass, “”,””, descrim );
4 N' ^8 q: A  _user = response.user;0 u9 }1 O5 a1 p4 v
// Since we are not dealing directly with pointers,
9 |6 y3 ]  O1 k# r4 _3 M4 A// NULL does not make sense here, use the isNull method from the, p. _& p7 c, s& c' K# L% w" o2 X
// AutoPtr template class.  ~4 ~: U) D& c6 @, a6 U8 Y
if( user.isNull())
: w; A8 u3 P# ^$ c  b: F8 u8 e{
" I5 l9 D: _* h" f8 t...! m. U$ Q7 g- k+ _7 o) G% k
}( g2 m+ I+ e/ D# Q; p3 U4 L
else
7 W. W/ n% G' i( v{  M4 Y+ c6 U- r2 v. a0 n
// Release the instance and, O( z. u& B9 ?" p1 y( D" l
user.release();% `& |2 O" U( j9 c3 q* O$ `
}
4 ~7 h" j! x' _& j4 P4 q0 ?  P
. Q( J- L2 f0 Z

! S) c9 r# l: L6 }: A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了