Afxdaoterm何时使用
Afxdaoterm when to use
本文关键字:何时使 Afxdaoterm 更新时间:2023-10-16
我有一个 dao 数据库,它在单独的 dal 中初始化,即所有的 ado 和 dao 都有单独的 dll。
我出于某种目的创建了一个 dll,并使用了这个 dll 并初始化 dabase,它起作用了。
我创建了一个 ocx 并初始化这个数据库,它不起作用,我尝试在退出实例 afxdaoterm 中调用。
我的疑问是我们必须在哪里称呼 afxdaoterm ?我在很多地方启动了这个数据库..我们可以叫 afxdaoterm I'n destuctor ..它崩溃了几次..
我们在哪里必须称呼 afxdaoterm ?
根本不需要调用AfxDaoTerm!
当调用 AfxDaoInit 时,会在 CWinApp 中设置一个状态,当调用 CWinApp:ExitInstance 时,将调用 AfxDaoTerm。
所以主要是问题是,你使用的是哪种DLL。常规 DLL 还是扩展 DLL?
在常规 DLL 中,每个 DLL 都有一个 CWinApp 对象。对于扩展 DLL,CWinApp 对象从主进程共享。
即使对于常规DLL,调用AfxDaoTerm,当AfxDaoInit和AfxDaoTerm可能从不同的线程调用时,常规DLL上也可能会出现问题。检查这一点并尝试防止这种情况。
因为常规 DLL 使用 DllMain 来启动 InitInstance 和 ExitInstance。 应该有一些代码来隔离从使用过程中调用的单独的 Init 和 Uninit 函数中的 Dao 内容。
相关文章:
- 何时在引用或唯一指针上使用移动语义
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- std::vector的包装器,使数组的结构看起来像结构的数组
- 何时提供默认参数作为模板参数
- 如何在全屏模式下(在OpenGL中)使背景透明
- 找到两对数字,使它们的乘积的绝对差最小化
- C++:如何使函数只返回作为列表一部分的字符串
- C++-明确何时以及如何调用析构函数
- c++使用foreach使数组为null
- 使外部项目可用于find_package CMake
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 是否可以在C++中使变量真正只读
- 有可能使shared_ptr协变吗
- 使lambda不可复制/不可移动
- 何时使函数成为类成员函数C++?
- 何时必须使操作员<<过载?
- 在Windows上,何时有必要将附加到目录路径上,以使_stat成功
- Afxdaoterm何时使用
- Apple C++ LLVM Compiler 4.x & UNICODE:何时需要?UNICODE 是默认编译器字符集吗?使代码同时编译 ANSI 和 UNICODE 版本
- 如何使libcurl c++调用超时和/或知道调用中何时发生超时