【问题标题】:Lost VB6 source code; is it possible to override methods in another object?丢失VB6源代码;是否可以覆盖另一个对象中的方法?
【发布时间】:2011-11-19 00:00:56
【问题描述】:

我知道一家公司将其源代码丢失给了暴露 COM 的 VB6 DLL。是否可以包装或覆盖此对象的属性、方法等以使其更现代?

我应该使用什么技术?我应该采取什么方法?

【问题讨论】:

  • 您使用的是 Visual Studio 2008 吗?
  • 我们有VS2010,以及我们需要的任何其他版本。你有什么想法@Kris
  • VS2010 应该没问题。让我们知道您决定做什么。

标签: .net inheritance com vb6 interop


【解决方案1】:

我会将它包装在一个新的 C# 类中,并且只向调用代码公开最少的功能(可能通过接口)。这样,在不影响调用客户端的情况下,可以在 C# 中逐步重写一些功能。

是的,利用互操作创建一个运行时可调用的包装器。

调用 .NET 代码 -> 您的新 .NET 类包装器 -> 通过运行时可调用包装器的 COM dll。

现在,即使您并没有真正重写函数或属性...您仍然可以通过您的包装类来完成此操作。

【讨论】:

    【解决方案2】:

    您可以将 COM 对象包装在运行时可调用的包装器中。这将允许您访问 COM 接口上的方法。

    http://msdn.microsoft.com/en-us/library/8bwh56xe.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      相关资源
      最近更新 更多