Страница 1 из 1

EPCL 0.0.0.1

СообщениеДобавлено: 23.05.2010 14:06:45
hinst
Первая версия библиотеки EPCL: 0.0.0.1
Призванной повысить производительность труда программиста при написании на Pascal. Сырая. Всем желающим смотреть и отписываться.
В архиве находятся модули и подробные описания к ним.

:idea: Что реализовано до состояния, пригодного к использованию:
:arrow: Простой шаблонный список exList.pas + пример использования и туториал к нему
:arrow: Строковые примочки exStrings.pas + пример использования и туториал к нему

архив, как и туториалы, также находятся тут :arrow: :arrow: :arrow: http://epcl.wikispaces.com/

случайно увидел тут тему про TIntegerList. EPCL содержит шаблонную реализацию такового в exSomeLists.pas

Re: EPCL 0.0.0.1

СообщениеДобавлено: 23.05.2010 21:10:52
NXP
версия от 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-собственника.

Re: EPCL 0.0.0.1

СообщениеДобавлено: 23.05.2010 22:09:07
hinst
Уважаемый NXP, интуиция подсказывает мне, что вам нужно собирать с определенным дефайном nodesign. посмотрите в fpc.cfg, он там у меня объявлен. так что, должен был задефиниться сам, но у вас какойто глюк, либо я где-то натупил.

Re: EPCL 0.0.0.1

СообщениеДобавлено: 23.05.2010 22:35:58
NXP
Спасибо. Будем юзать.
Вставил в {$define nodesign} в начало exList.pas. Теперь собирается и работает.