我的许多用户正在迁移到Vista,这可能会以兼容模式运行应用程序,或者可能有GPF问题,具体取决于他们的电脑由IT部门配置,所以我必须对应用程序进行一些维护。我想知道我是否应该跳到一个更熟悉的堆栈。
有没有一个自动化工具,将代码转换为C#,让我专注于任何非标准组件的转换?我正在使用一个名为AbsoluteDatabase的嵌入式数据库组件,该组件与BDE兼容,并使用标准sql,以及可以从Microsoft世界的某些内容中交换的本机Delphi HTML浏览器组件。
这些转换工具有多好?
解决方法
CodeGear(正式Borland)有一个工具为going from C# to Delphi工作正常。我会假设走向另一个方向的工具会相同(需要大量的编辑)。这是一个瑞典工具,它工作原理与Code001相同,从Delphi to C#(和其他一些语言)。还有其他的,我现在找不到他们。
另一个选择是升级到更重要的Delphi版本的.NET,并将您的代码移植到.NET。一旦你得到它的工作在Delphi for .NET(这将很容易,除了嵌入式数据库,除非他们有一个.NET版本),你可以使用.NET Reflector和File Disassembler反向IL到C#。您仍然会使用VCL,但您可以使用C#而不是Object pascal。
另一个类似的解决方案是将其移植到Oxygene by RemObjects.我相信他们有一个Delphi Win32迁移到WinForms的路径。然后使用.NET Reflector和File Disassembler反转IL到C#。
总之,没有简单的答案。语言迁移比图书馆迁移更容易。很多这取决于您使用的第三方组件(超出AbsoluteDatabase),以及是否在应用程序中直接进行了任何Windows API调用。
另一个完全不同的选择将是寻找离岸团队来维护应用程序。他们可能很便宜。你可以在国内找到一个人,但是这样做会让你更无疑(尽管美元贬值和就业市场不好,你永远都不知道…)
祝你好运!