在我工作的公司,我们所有的GUI都是用C#开发的,但是应用内核主要是用Delphi 5开发的(由于历史原因),很多组件都是用COM+做的。与这种非常具体的应用程序相关,我有两个问题:
在 Delphi 和/或 COM 方面有经验的人,你有什么办法可以使用有缺陷的 TLB 界面吗?一些错误是:编辑大型 TLB 期间 IDE 崩溃、方法 ID 丢失、TLB 损坏等。在这里,我们还没有找到任何好的解决方案。实际上,我们尝试升级新的 2007 版本。但是新的 IDE TLB 接口与我们之前发现的 bug 相同。
您如何控制 TLB 版本?TLB 文件是二进制格式,解决冲突非常困难。我们尝试将接口描述导出到 IDL 并提交到 CVS,但我们没有找到任何使用 Delphi 从 IDL 生成 TLB 的好方法。另外,微软提供的 MIDL 工具没有正确解析我们从 delphi 导出的 IDL 文件。