问题描述
在我工作的公司,我们开发所有的GUI在C#,但应用程序内核主要是开发在Delphi 5(由于历史原因),有很多组件在COM +。与这个非常具体的应用类型有关的两个问题:-
经验丰富的人在Delphi和/任何workrounds与错误的TLB接口工作?
一些错误是:IDE在大型TLB的编辑期间崩溃,丢失了方法ID,TLB损坏等。
在这里,我们没有找到任何好的解决方案。其实我们试着做升级做新的2007版本。 -
如何控制TLBs的版本? TLB文件是二进制格式,冲突解决很难做。我们尝试将接口描述导出到IDL并提交到CVS中,但是我们没有发现使用Delphi从IDL生成TLB的任何好方法。另外,Microsoft提供的MIDL工具未正确解析我们从delphi导出的IDL文件。
我认为你应该看看Delphi 2009。
Delphi 2009改变了COM支持,
您可以阅读更多。
In the company that i work, we develop all the GUI in C#, but the application kernel is mainly developed in Delphi 5 (for historical reasons), with a lot of components made in COM+. Related to this very specific sort of application a I two questions:
Experienced guys in Delphi and/or COM, do you have any workrounds to work with the buggy TLB interface ? Some of the bugs are: IDE crashing during edition of a large TLB, lost of methods IDs, TLB corruption, etc.Here, we haven't found any good solution. Actually we tried do upgrade do the new 2007 version. But the new IDE TLB interface has the same bugs that we found before.
How do you control TLBs versions ? The TLB file is in a binary format and conflict resolutions are very hard to do. We tried to do it exporting the interfaces descriptions to IDL and commiting into CVS, but we didn't found any good way to generate TLBs from IDL using Delphi. Additionaly, the MIDL tool provided by Microsoft, didn't parse correctly the IDL files that we exported from delphi.
I think you should have a good look at Delphi 2009.
Delphi 2009 has changes to the COM support, including a text-based replacement for the binary TLB files.
You can read more on Chris Bensen's blog.
这篇关于Delphi和COM:TLB和维护问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!