发布到组件服务上的Dll要调用两次DllMain,不知大虾们注意了吗?如果我想在DllMain中初始化我的类效率就会低一半,大虾们有办法克服此弊端吗?
解决方案 »
- CDHtmlDialog 获取html某个值,用JS传递,怎么实现
- UDP中用recvfrom()接收数据的一些问题
- 多文档程序的简单问题
- 数据恢复的代码 说数据库正在使用 怎么改 mfc + sql server
- 用WriteFile向磁带设备写数据产生参数错误(错误码87)
- 关于Socket编译时的一个问题
- 500分,请问有人用过Optibase(阿贝斯)的解码卡做过开发吗?解决后另送300。
- 为什么要new和GlobalAlloc等这些函数?
- 大家分析一下,这是不是微软的一个bug?
- 命名管道问题
- 关于在WIN98上使用MTS中导出的组件包问题! 急! 送分!不够再给!
- 质问:事务是基于组件级别的,而不是基于组件的方法级别的???
{
static int i;
if(i++ == 0)
{
//初始化自己的类。
}
//做其他事情
}
{
static int i;
if(i++ == 0)
{
FILE *stream = fopen("zwz", "w");
if(stream)
fclose(stream);
}
//其他部分
}请看这段程序,编译成DLL之后,在组件服务上安装,选择该DLL之后,点“打开”按钮,在按“下一步”按钮之前,
看system32文件夹zwz已创建,将zwz删去,接着按“下一步”,“完成”按钮,zwz再次创建!大虾能解释原因吗?
请教是哪两个进程,如何避免。
非也,实在想不出有什么理由要在 DllMain 中初始化数据。
“在按“下一步”按钮之前,看system32文件夹zwz已创建”大约是被 regsvr32 创建的,“完成时”不太清楚是谁干的,可能还是 regsvr32 干的。调试一下吧。
我想在组件服务上安装Dll之后,初始化就已完成。所有请求的客户端都可访问初始化的数据。
因为这个时候, dll 才真正被装载到进程空间.