【发布时间】:2011-08-10 10:49:56
【问题描述】:
我创建了一个 C# .Net WinForms 项目,它使用了一些由我创建的库。现在我正在创建一个 COM 包装器,并希望通过 VBA 使用 Excel 文件中的相同库。但我不希望 Excel 创建库的新实例。我需要使用 WinForms 项目加载的库的相同实例。请提出一种方法。
WinForm App
|- Library1.dll
|- Library2.dll
.
Excel
|-ComWrapper
|-Library1.dll
|-Library2.dll
我试图用图表来解释当前的情况。在上述情况下,将创建 Library1.dll 和 library2.dll 的两个实例,因为它们是从不同的进程调用的。我只需要在内存中有一个 library1.dll 和 library2.dll 的实例。
【问题讨论】:
-
您不会阻止不同的进程与您启用 Com 的库进行通信。您可以明显地阻止您自己的应用程序这样做,当然这不会发生,没有一行代码很难说出您的实际要求。
-
你想完成什么。在两者之间共享一些状态?在我的术语书中,“图书馆实例”没有条目。描述你正在努力完成的事情将帮助与我在同一条船上的其他人
-
好的,我会解释这个场景。
标签: c# .net excel dll com-interop