在VS中建立了一个winForm的项目,引用了一个COM组件,组件实现的功能是生成一个dat文本,代码如下:
STDMETHODIMP Ccreatedat::adddat(void)
{
// TODO: 在此添加实现代码
FILE *fp;
int dat[1][100];
int h;
for (int i=0;i<100;i++)
{
dat[0][i]=i;
}
remove("data.dat");
fp=fopen("data.dat","w");
//num=eneend-enestart+1;
for (h=0;h<100;h++)
{
fprintf(fp,"%16d\n",dat[0][h]);
}
/* }*/
fclose(fp);
return S_OK;
}
然后我在窗体中单击一个button,调用组件的这个函数,能够成功生成这个文本,但是我如果不关闭窗体的话,这个文本是删不掉的,提示被窗体的进程占用。
但是如果我用一个dll来实现相同的功能,如果没有关闭窗体的话,这个文本是可以删掉的。
这是怎么回事呢???怎样让COM调用在没关闭窗体时也能删掉这个文本呢??
谢谢。
------解决方案--------------------------------------------------------
求高手指导下啊。。。
------解决方案--------------------------------------------------------
....谁来帮我看下啊。。。。。
------解决方案--------------------------------------------------------
帮我看看啊