当我用:
创建TZCompressionStream
对象时
var
cs: TZCompressionStream;
dest: TStream;
level: TZCompressionLevel;
...
cs := TZCompressionStream.Create(level, dest);
我收到此编译器错误:
E2250没有可以使用这些参数调用的“创建”的重载版本
但我的代码是根据构造函数声明:
Create(compressionLevel: TZCompressionLevel; dest: TStream); overload;
当我使用XE时,一切都很好。但是现在XE5出现了这个错误。为什么呢?
更新
cs := TZCompressionStream.Create(dest);
cs := TZCompressionStream.Create(clMax, dest);
我也试图改变参数的顺序,这是不成功的。
答案 0 :(得分:3)
我假设您的代码与编辑中所述的相同:
cs:=TZCompressionStream.Create(clMax, dest);
明显的解释是clMax不是你想象的那样。可能还有另一个单元定义clMax,该单元出现在您的使用列表中的ZLib之后。通过以下任一方式解决问题: