【问题标题】:Best Practice for Creating a .net dll vs vb6 dll for VB6 desktop app?为 VB6 桌面应用程序创建 .net dll 与 vb6 dll 的最佳实践?
【发布时间】:2009-02-26 02:39:41
【问题描述】:

我正在尝试创建另一个 dll,其中仅包含表单和一些 shell 方法来调用外部 exe,同时允许我的主表单运行不受干扰的类似伪多线程的东西。所有这些有益健康的好处都在旧的 vb6 遗留应用程序中。

所以我正在尝试决定是否应该使用 .net 来编写 dll 或 vb6 来编写 dll。这有关系吗,在我冒险之前我应该​​知道的最小/刻度是多少?

谢谢

【问题讨论】:

    标签: .net dll vb6


    【解决方案1】:

    如果您想要一个独立的表单,那么 ActiveX EXE 就足够了。独立表单是可以显示并且调用应用程序继续运行的表单。两人并没有阻止对方。在这种情况下,.NET DLL 是多余的。

    如果您需要一些涉及传统多任务的东西,例如获取一大块数据并对其进行处理,那么 .NET DLL 可能是更好的解决方案,因为多任务比 EXE->Active EXE 更直接VB6的解决方案。

    基于您的其他问题,我认为创建一个全局多用途类,该类公开方法和参数以在您的 EXE 引用的 ActiveX EXE 中调用您需要的表单。

    更多细节将帮助我制定更好的答案。

    评论后@EDIT

    然后通过 ActiveX EXE 传输表单和对象将是正确的方法。然后您可以从原始 EXE 中引用 ActiveX EXE。

    唯一的问题是您复制的内容是否真正独立。好消息是,通过留在 VB6 中,您将立即发现任何问题,而不用怀疑它是否是转换过程的产物。如果这是您的长期目标,稍后您可以专注于向 .NET 的转换。

    【讨论】:

    • @RS 现在它是严格的主 exe/form 是一个编辑器按钮调用另一个窗体-它是一个 exe,其中两个与主 exe/form 一起运行。到目前为止,这些子表单还不需要多任务处理。你还需要什么其他细节?谢谢!
    【解决方案2】:

    我认为这与your other question 有关?在这种情况下,您实际上并不需要 DLL - 我认为您误解了 RS Conley 的回答。希望这会有所帮助,马克

    【讨论】:

    • MarkJ,我认为我的想法是将其他内容移动到 DLL 中,以便我不再需要将我的应用程序更改为 activex exe?谢谢。
    • 自从我写了这个并且你回答了,RS Conley 已经回答了这个问题 - 看看那个
    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 2015-11-12
    相关资源
    最近更新 更多