我很沮丧。我使用的是Delphi 2009,我很高兴这个版本的Delphi中包含了泛型。开始的时候一切都很好,但现在我到处都在使用泛型,我遇到了一个又一个问题-大多数时候是一些内部错误,我甚至看不到它们到底是在哪里引起的。我多次尝试重构代码,以避免泛型的问题,但总是会遇到新的问题。
现在我决定一起删除泛型,并使用一些动态类型转换来专门化我的类。我对此不是很兴奋,但我就是看不到另一个选择。我不能花一天的时间追踪Delphi的内部编译器错误...
有没有人在大型项目中使用泛型时不会遇到这样的问题?也许是我的错?或者只是不可能在复杂的项目中使用它们?
我希望D2010能解决所有这些问题。
发布于 2009-09-08 12:17:38
我在Delphi2009中广泛地使用了泛型,我可以说这并不容易,因为您经常需要处理ICE。更糟糕的是,泛型甚至搞乱了链接器,也就是说,你不能在包中真正使用它们(除了C++Builder包)。
在Delphi 2010中,所有这些麻烦似乎都消失了;由于泛型,我几乎没有见过ICE。我需要我的代码来与2009年和2010年工作:(
发布于 2009-09-08 12:47:05
一开始,D2009中的泛型支持非常糟糕。更新3修复了很多东西,但不是所有的东西,并且在Generics.Collections.pas中留下了至少一个严重的错误。在某些方面,它实际上变得更糟了,因为现在当编译器在某些通用构造上卡住时,你不会给你一个语法错误,而是你经常会得到一个内部编译器错误,而你不知道是什么导致了它。
它在2010年已经有了很大的改进。在相当模糊的情况下,仍然有一些与泛型相关的问题,但只要不使用包或将泛型放在类帮助器中或类似的奇怪事情中,使用泛型通常是安全的。
底线:如果你想使用它们,升级到2010。
https://stackoverflow.com/questions/1393142
复制相似问题