версия от 2010.05.23
проверена мною в lazarus 0.9.28.3, fpc 2.4.0 под Windows XP.
Она кросс-платформенная?
Добавлено спустя 31 минуту 47 секунд:Вижу, что фактически платформенная. При компиляции примера получил это:
- Код: Выделить всё
sergey@linux-68dp:~/EPCL/samples/list_sample> fpc list_sample.lpr
Free Pascal Compiler version 2.2.4 [2010/01/15] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for i386
Compiling list_sample.lpr
Compiling ../../exStrings.pas
Compiling ../../exList.pas
Compiling ../../exListFace.pas
exList.pas(330,64) Error: Wrong number of parameters specified for call to "<Procedure Variable>"
exList.pas(331,60) Error: Wrong number of parameters specified for call to "<Procedure Variable>"
exList.pas(390,37) Error: Wrong number of parameters specified for call to "<Procedure Variable>"
exList.pas(492,41) Error: Wrong number of parameters specified for call to "<Procedure Variable>"
exList.pas(536,62) Error: Wrong number of parameters specified for call to "<Procedure Variable>"
exList.pas(578) Fatal: There were 5 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Большая просьба. Не ложите в архив бинарные файлы. Файлы ресурсов для консольных программ, тоже как-то не к месту.
Еще бы было не плохо, все согнать в один файл epcl.pas, тобы не думать, что мне надо... Участки кода в epcl.pas подключать через {$I epclStrings.inc} и тд. (как в KOL). Компоновщик лишнее сам уберет.
Добавлено спустя 18 минут 15 секунд:В общем очень даже понравилосьПредлагаю доработку:
- Код: Выделить всё
ints:=TMyIntegers.Create(owner, @NewIntFunction, @CompareIntsFunction, @DestroyIntFunction);
NewIntFunction, CompareIntsFunction, DestroyIntFunction - могут быть общими для многих ints...
Однако логика их работы может требоваться разная. Предлагаю передавать этим функциям Owner-собственника.