找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 1834|回复: 0

Pro/E二次开发使用toolkit开发trigger的程序

[复制链接]
发表于 2008-8-6 13:31:00 | 显示全部楼层 |阅读模式
使用toolkit开发trigger的程序时,往往需要能够连续通过trigger来触发dll中的函数.
  g1 \: v! B3 c我碰到的问题: . a9 q4 b: L% ?- e2 L; I
   1.配置trigger: ) i" ?/ F5 V, f4 w
   Name: CimDll 5 {2 T' M, @; A. h! Q) c& r
   Event: Create PIV
3 \9 o' n3 t* ?5 q; t   Time:  POST , @+ l, {2 e' l# q0 t0 ?
   RequireNO   {2 H5 O) F$ g* U+ Z
   DLL:Cim.dll ! v; K6 [* X. ~& T3 G; F
   FunctionDMTPIVCreatePostOperation 7 @& A& n1 ^: J0 d& w( ]6 p; p  X
   
6 w% [4 Y0 I' m8 A- w; q  2.源代码:
" T3 G' m0 V! _  k3 o  K) v, }   int PDMDLLInit()
" k/ f+ V- g3 d% q/ G{
6 w% W% z+ x' f5 i! C   PTCERROR pdm_status;
; s7 \7 J" R; R; n   FILE      *g_pfileLog;    g_pfileLog =fopen("test.dat","w");
7 M4 f+ c+ m  r) a   setbuf(g_pfileLog,NULL); . |' {5 j( t5 ?+ m7 [" C" w
   fprintf(g_pfileLog,"begin test\n");
. J' R! _! f. ]/ j8 i( A2 \; O   pdm_status = PDMTriggerRegister("DMTPIVCreatePostOperation", PDMTPIVCreatePostOperation); ; j% P" C, ~2 V% \7 H% s: Q1 k: v
   if (pdm_status != PDM_SUCCESS)
/ \& y7 `: \0 V8 r; m   {   
2 ]! i6 B3 o* D4 I    printf("Failed to Register Trigger PIV Create Post.\n");
& `$ M" l* \8 z# `8 w  L; d   } 7 N, ?6 o3 _7 k2 A! o& T
    return (pdm_status); 4 J( m2 D" N$ Y4 W1 ]8 J
} ' }3 A& T# C! J7 U$ o8 Q
int PDMTPIVCreatePostOperation(int argc, void **argv) 2 N3 ^6 H; [- n% q0 i" m! P
{
8 I( C% }* Q1 U2 @   fprintf(g_pfileLog,"test\n");
/ N" U& g' w* a7 |   .....   v9 l0 \2 I* \2 `8 Z$ Z( K1 l- e
   fprintf(g_pfileLog,"end test\n");
, r; o0 Z, d: o# ^5 L8 M) {   fclose(g_pfileLog);
5 \+ c! u6 f- Z# V; O8 g}
/ {* z# C0 _1 O. l: e. m4 v   结果:以上代码存在的问题:如果我们在第一次checkin到C/S中后,删除test.dat文件,然后再进行checkin时,发现没有再生成test.dat,在函数PDMTPIVCreatePostOperation()中所进行的对文件的操作都无效. 4 ?. i# s4 ]9 Z
   原因:我们使用trigger触发时,真正起作用的是函数DMTPIVCreatePostOperation(),而PDMDLLInit()只是在第一次checkin时起作用,所以在第一次调用PDMTPIVCreatePostOperation()后,我就fclose(g_pfileLog),所以出现了上面的情况.所以注意的是:不要把一些重要的东西放在函数PDMDLLInit()中.
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-10-16 08:26 , Processed in 0.063039 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表