[#] [Из песочницы] Yield в CodeGear RAD Studio (Delphi 2007 for Win32)
habrabot(difrex,1) — All
2014-11-10 18:30:03


Привет хабр! Понадобилось внезапно портировать программу с C# на Delphi. В программе на C# активно использовался [yield][1]. Погуглив просторы интернета в надежде не заниматься изобретением велосипеда, удалось найти реализацию yield для Win32 на базе [фиберов][2] для [Embarcadero Delphi 2009][3] и выше, но вот беда — требовалось сделать порт под CodeGear RAD Studio для версии Delphi 2007, в которой ещё отсутствовали [обобщённые типы][4] и [анонимные методы][5]. Менять версию Delphi на более позднюю было нельзя и поэтому пришлось переписать найденную реализацию yield для более ранней версии. Взяв [исходник юнита][6] с реализаций yield для Delphi 2009 и выше за авторством [Andriy Gerasika][7] я его переделал для Delphi 2007. [Читать дальше →][8]

[1]: http://msdn.microsoft.com/ru-ru/library/9k7k7cf0.aspx
[2]: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682661%28v=vs.85%29.aspx
[3]: http://www.embarcadero.com/products/delphi
[4]: https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#Object_Pascal
[5]: https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D0%B0%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F
[6]: http://cdn.gerixsoft.com/sites/gerixsoft.com/files/DelphiYield.zip
[7]: mailto:andriy.gerasika@gerixsoft.com
[8]: http://habrahabr.ru/post/242737/#habracut