我下载了OTL http://www.omnithreadlibrary.com/
并编译D2007 grouproj,安装软件包,没有问题。
然后,我创建一个使用OtlParallel单元的简单控制台应用程序,当然,我将OtlParallel和其他一些pas文件添加到项目中。
但它抱怨说没有找到Generics.Collections。
发布于 2015-10-15 06:47:40
文档说:
高级抽象在OtlParallel单元中实现.它们都是通过工厂类并行创建的。高级代码集中使用匿名方法和泛型,这使得Delphi 2009成为支持的最低版本。
这些泛型和匿名方法使得这个单元与Delphi 2007完全不兼容。
如果您希望使用类似于Delphi2007和OTL的Parallel.For这样的构造,那么您必须自己支持端口OtlParallel。如果没有匿名方法,这是非常困难的,并实现相同的流畅风格的代码。您必须使用过程类型而不是匿名方法。而且您必须手动实现闭包。
所以不要用
TProc = reference to procedure;你会用
TMethod = procedure of object;为了实现这一点,您可以使用无参数的方法创建一个类或记录。您需要将所需的任何状态作为类型的成员添加,并填充这些成员。这实质上是带有变量捕获的闭包的手动实现。你需要处理一辈子的事。确保实例存在于并行循环之上。
祝好运!
https://stackoverflow.com/questions/33014800
复制相似问题