本文介紹了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族達人速成 [歐特克軟件(中國)有限公