我正在尝试使用表单和一些shell方法创建另一个dll来调用外部exe,同时允许我的主窗体运行非类似的类似伪多线程的东西。所有这些健康的善良都在旧的vb6遗留应用程序中。
所以我正在尝试决定是否应该使用.net来编写dll或vb6来编写dll。这是否重要,什么是最小/嘀嗒或我应该知道的什么才能进行下降? / p>
谢谢
答案 0 :(得分:2)
如果您想要一个独立的表单,那么ActiveX EXE就足够了。独立表单是可以显示的表单,并且调用应用程序将继续运行。两者不会互相阻止。在这种情况下,.NET DLL是过度的。
如果你需要涉及传统多任务的东西,比如拿一大块数据并处理它,那么.NET DLL可能是一个更好的解决方案,因为多任务比EXE->更活跃VB6的EXE解决方案。
根据您的其他问题,我觉得创建一个全局多用途类,公开方法和参数来调用EXE引用的ActiveX EXE中所需的表单将是最佳选择。
更具体的内容可以帮助我找到更好的答案。
评论后的@EDIT
然后在ActiveX EXE上传输表单和对象将是正确的方法。然后,您可以从原始EXE引用ActiveX EXE。
唯一的问题是你复制的内容是否真正独立。好消息是,通过保留在VB6中,您将立即捕获任何问题,而不是想知道它是否是转换过程的工件。稍后,如果这是您的长期目标,您可以专注于转换为.NET。
答案 1 :(得分:0)
我认为这与your other question有关?在这种情况下,你真的不需要DLL - 我认为你误解了RS Conley的答案。希望这有帮助,Mark