50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > java技术英文名词读音_Java开发 Java development 音标 读音 翻译 英文例句 英语词典...

java技术英文名词读音_Java开发 Java development 音标 读音 翻译 英文例句 英语词典...

时间:2020-03-15 05:25:38

相关推荐

java技术英文名词读音_Java开发 Java development 音标 读音 翻译 英文例句 英语词典...

使用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()中.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。