【发布时间】:2009-02-26 02:39:41
【问题描述】:
我正在尝试创建另一个 dll,其中仅包含表单和一些 shell 方法来调用外部 exe,同时允许我的主表单运行不受干扰的类似伪多线程的东西。所有这些有益健康的好处都在旧的 vb6 遗留应用程序中。
所以我正在尝试决定是否应该使用 .net 来编写 dll 或 vb6 来编写 dll。这有关系吗,在我冒险之前我应该知道的最小/刻度是多少?
谢谢
【问题讨论】:
我正在尝试创建另一个 dll,其中仅包含表单和一些 shell 方法来调用外部 exe,同时允许我的主表单运行不受干扰的类似伪多线程的东西。所有这些有益健康的好处都在旧的 vb6 遗留应用程序中。
所以我正在尝试决定是否应该使用 .net 来编写 dll 或 vb6 来编写 dll。这有关系吗,在我冒险之前我应该知道的最小/刻度是多少?
谢谢
【问题讨论】:
如果您想要一个独立的表单,那么 ActiveX EXE 就足够了。独立表单是可以显示并且调用应用程序继续运行的表单。两人并没有阻止对方。在这种情况下,.NET DLL 是多余的。
如果您需要一些涉及传统多任务的东西,例如获取一大块数据并对其进行处理,那么 .NET DLL 可能是更好的解决方案,因为多任务比 EXE->Active EXE 更直接VB6的解决方案。
基于您的其他问题,我认为创建一个全局多用途类,该类公开方法和参数以在您的 EXE 引用的 ActiveX EXE 中调用您需要的表单。
更多细节将帮助我制定更好的答案。
评论后@EDIT
然后通过 ActiveX EXE 传输表单和对象将是正确的方法。然后您可以从原始 EXE 中引用 ActiveX EXE。
唯一的问题是您复制的内容是否真正独立。好消息是,通过留在 VB6 中,您将立即发现任何问题,而不用怀疑它是否是转换过程的产物。如果这是您的长期目标,稍后您可以专注于向 .NET 的转换。
【讨论】:
我认为这与your other question 有关?在这种情况下,您实际上并不需要 DLL - 我认为您误解了 RS Conley 的回答。希望这会有所帮助,马克
【讨论】: