我下载了OTL http://www.omnithreadlibrary.com/
编译D2007 grouproj,安装包,没问题。
然后我创建了一个使用OtlParallel单元的简单控制台应用程序,当然,我将OtlParallel和其他一些pas文件添加到项目中。
但它抱怨找不到Generics.Collections。
答案 0 :(得分:2)
在OtlParallel单元中实现高级抽象。它们都是通过工厂类Parallel创建的。高级代码密集使用匿名方法和泛型,这使得Delphi 2009成为最低支持版本。
我们使用泛型和匿名方法使得该单元与Delphi 2007完全不兼容。
如果您希望在Delphi 2007和OTL中使用$_GET
之类的构造,那么您必须自己后端Parallel.For
。如果没有匿名方法,这很难做到并实现相同的流畅代码风格。您必须使用过程类型而不是匿名方法。而且你必须手动实现闭包。
所以不要使用
OtlParallel
你会用
TProc = reference to procedure;
然后要实现此功能,您可以使用无参数方法创建类或记录。您需要添加所需的任何状态作为该类型的成员,并填充这些成员。这本质上是一个带有变量捕获的闭包的手动实现。你需要处理一生。确保实例比并行循环更长。
祝你好运!