说明:双击或选中下面任意单词,将显示该词的音标、读音、翻译等;选中中文或多个词,将显示翻译。
您的位置:首页 -> 词典 -> 南部开发
1)  development of south Italy
南部开发
2)  Hunan western development
湖南西部大开发
3)  Development Bank of Southern Africa
南部非洲开发银行
4)  South China Sea development
南海开发
5)  the development of the Lingnan area
岭南开发
6)  exploitation of Italian south
南方开发
补充资料:Pro/E二次开发使用toolkit开发trigger的程序

使用toolkit开发trigger的程序时,往往需要能够连续通过trigger来触发dll中的函数.
我碰到的问题:
   1.配置trigger:
   Name: CimDll
   Event: Create PIV
   Time:  POST
   RequireNO
   DLL:Cim.dll
   Function:PDMTPIVCreatePostOperation
   
  2.源代码:
   int PDMDLLInit()
{
   PTCERROR pdm_status;
   FILE      *g_pfileLog;
   g_pfileLog =fopen("test.dat","w");
   setbuf(g_pfileLog,NULL);
   fprintf(g_pfileLog,"begin test\n");
   pdm_status = PDMTriggerRegister("PDMTPIVCreatePostOperation", PDMTPIVCreatePostOperation);
   if (pdm_status != PDM_SUCCESS)
   {  
    printf("Failed to Register Trigger PIV Create Post.\n");
   }
    return (pdm_status);
}


int PDMTPIVCreatePostOperation(int argc, void **argv)
{
   fprintf(g_pfileLog,"test\n");
   .....
   fprintf(g_pfileLog,"end test\n");
   fclose(g_pfileLog);


}


   结果:以上代码存在的问题:如果我们在第一次checkin到C/S中后,删除test.dat文件,然后再进行checkin时,发现没有再生成test.dat,在函数PDMTPIVCreatePostOperation()中所进行的对文件的操作都无效.
   原因:我们使用trigger触发时,真正起作用的是函数:PDMTPIVCreatePostOperation(),而PDMDLLInit()只是在第一次checkin时起作用,所以在第一次调用PDMTPIVCreatePostOperation()后,我就fclose(g_pfileLog),所以出现了上面的情况.所以注意的是:不要把一些重要的东西放在函数PDMDLLInit()中.

说明:补充资料仅用于学习参考,请勿用于其它任何用途。
参考词条