Eri*_*c G 6 delphi dehl delphi-xe
我是Delphi的新手,我正在尝试使用DEHL Collections库.(请参阅http://code.google.com/p/delphi-coll/)从IDE的角度来看,我遇到了一些麻烦.它编译并正确运行,但Delphi XE在我使用HashSet库的任何地方都显示错误.最大的不满是阻止我使用代码完成.
我得到错误的第一个位置是在对象声明中:
uses
  SysUtils, Windows, Collections.Base, Collections.Sets, Collections.Lists,
  adscnnct, adstable,
  uOtherClass;
type
  OneClass = class(OtherClass)
    private
      _bad: THashSet<string>;   // THashSet underlined
      _good: TList<string>;     // No problems
  end;
错误指出:"类型参数与约束不匹配"
我不认为这是配置,因为我可以正常使用TList,但这是我如何设置它:我已经将库复制到Projects/Libs/DeHLCollections/Library并将库编译为Projects/Libs/bin.我已经将bin目录包含在我的全局库路径中,这使它可以编译并运行.我已经尝试将所有内容(/ libs,/ DeHLCollections,/ Library)添加到它中,以期让IDE帮助我,但它似乎没有帮助.
无论如何要解决这个问题,还是我只需要处理它?
使用DeHL Collections版本1.1.1.119
War*_* P 6
欢迎使用泛型载入代码的麻烦.DeHL和泛型在Delphi XE中比以前的任何Delphi版本都要好得多,但这与"没有任何问题"不一样.我遇到的问题与你的问题完全一样.
我的观点是,DeHL显示了由德尔福大师程序员编写的每一个标志,并且在某些方面它是美丽的东西.它也是一种巨大痛苦的源泉,而不是它本身的过错.
Delphi包含不是一个或两个,但至少有三个(可能是四个?)单独的解析器,包括完整的编译器解析器,以及用于Error Insight(你甚至在构建之前看到的错误)和代码之类的一些IDE解析器完成数据解析器.对于泛型,每种语言都有不同的语言支持限制.或许可以编写DeHL以避免使用所有各种Delphi解析器的解析器问题.我还没有看过一篇有关显示限制的指南,但如果表单中的复杂类型声明TSomething<TSomething<ISomethingElse>,TBar<IFoo>>打破了多个解析器,我也不会感到惊讶.
如果您打算非常大量地使用泛型,那么您也可以关闭代码完成和错误洞察.您可能还希望经常保存,并准备好遇到很多编译器问题.并且不要尝试编译泛型代码并将其放入包中.当我编写基于泛型的代码时,我经历了很多URW和AV(内部编译器错误).我发现Delphi编译器团队很擅长修复报告的内容,但是当我限制自己使用Delphi附带的Generics.Collections而不使用其他基于泛型的代码时,Generics对我来说真的最稳定.似乎可以使用泛型功能编写内容,IDE和双向工具以及代码完成尚未完全准备好处理.这意味着,惊人的宇宙通用能力是经典RAD IDE生产力功能的代价.
话虽这么说,来自Subversion的最新DeHL资源对我来说很好,并且没有错误地构建和运行,但是整个DeHL集合的最新源ZIP对我来说都有问题.
我希望在接下来的几个Delphi版本中,无论发现什么问题(并且DeHL似乎是一个突破界限的好地方,这也是我很喜欢它的原因之一)将被修复,并且你不会想知道为什么重型泛型会破坏你的IDE功能,因为它们都会再次运行.
| 归档时间: | 
 | 
| 查看次数: | 427 次 | 
| 最近记录: |