我正在从头开始设计一个模块化软件基础架构,其中不同的 DLL 拥有不同的业务逻辑和应用程序逻辑。每个 DLL 都有自己的通过通用 DLL 调用进行初始化/取消初始化的机制。
假设我有一个使用这些不同 DLL 的主机应用程序。所有这些 DLL 都由主机应用程序通过LoadLibrary
. 当一个 DLL 初始化时,它会实例化一些内部全局变量。我可以使用另一个 DLL 连接到这个 DLL 并在不通过主机路由的情况下访问同一个实例吗?当然LoadLibrary
从另一个 DLL 中调用会创建另一个实例,并且直接调用 DLL 也不会被初始化/实例化?
如何从一个 DLL 访问由同一主机应用程序初始化的另一个 DLL 的实例化数据?
例如,数据库连接。我使用获取/执行等方法将 ADO 连接封装在一个 DLL 中。我希望一个 DLL 使用从该 DB DLL 中的主机应用程序实例化的相同连接。