本文介绍了ProE二次开发中用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 ");
pdm_status = PDMTriggerRegister("PDMTPIVCreatePostOperation", PDMTPIVCreatePostOperation);
if (pdm_status != PDM_SUCCESS)
{
printf("Failed to Register Trigger PIV Create Post. ");
}
return (pdm_status);
}
int PDMTPIVCreatePostOperation(int argc, void **argv)
{
fprintf(g_pfileLog,"test ");
.....
fprintf(g_pfileLog,"end test ");
fclose(g_pfileLog);
}
结果:以上代码存在的问题:如果我们在第一次checkin到C/S中后,删除test.dat文件,然后再进行checkin时,发现没有再生成test.dat,在函数PDMTPIVCreatePostOperation()中所进行的对文件的操作都无效.
原因:我们使用trigger触发时,真正起作用的是函数:PDMTPIVCreatePostOperation(),而PDMDLLInit()只是在第一次checkin时起作用,所以在第一次调用PDMTPIVCreatePostOperation()后,我就fclose(g_pfileLog),所以出现了上面的情况.所以注意的是:不要把一些重要的东西放在函数PDMDLLInit()中.
相关文章
- 2021-08-23精通AutoCAD三维设计与开发PDF下载
- 2021-08-22AutoCAD 2013应用与开发系列中文版AutoCAD 2013室内装
- 2021-08-22AutoCAD 2013应用与开发系列中文版AutoCAD 2013机械图
- 2021-08-19数字化成图-最新AutoCAD地形图测绘高级开发PDF下载
- 2021-08-03Autodesk RevitStructure2012应用宝典 [欧特克软件(中
- 2021-08-02Autodesk RevitMEP2012应用宝典 [欧特克软件(中国)有限
- 2021-08-02Autodesk Revit2013族达人速成 [欧特克软件(中国)有限公
- 2021-08-01Visual LISP程序设计(AutoCAD 2006)PDF下载
- 2021-08-01Visual Basic与AutoCAD二次开发PDF下载
- 2021-07-31Autodesk Revit2012族达人速成 [欧特克软件(中国)有限公