zub писал(а):>>а чем будет отличаться если "device.number" заменить на "device_number"
В принципе ничем, но это уже костыли какието - хочется что внутри, что снаружи иметь одни и теже сущности. С такими упрощениями сложные вещи не заскриптуешь.
Под linux x64 при компиляции простеньких скриптов работавших в windows ловлю SIGSEGV((
Я использую скрипты только тогда, когда их текст нужно писать юзеру и во время работы, либо если нужно иметь гибкую возможность писать формулы в реалтайме. Во всех остальных случаях, особенно при использовании FPC, будет проще писать на FPC, получать DLL и ее использовать. Будет и гибче, и надежнее и быстрее.
Поэтому я ни когда не ставил себе задачу писать на скриптах сильно много. У меня есть сложный проект, где используются специализированные мною разработанные скрипты (специальный синтаксис, но очень высокое быстродействие), которые глубоко привязаны к предметной области. С позиции предметной области у меня целая иерархия скриптовых классов, взаимно вызывающихся друг от друга. Тем самым моделируется некий технологический процесс.
Но я реализовал так, что отдельный скрипт очень мал, и решает конкретную задачу. Предметное взаимодействие организовано уже в основной программе. Получилось очень удачно. Во-первых, доступно пользователю, далекому от программирования, и ему не нужно грузиться архитектурой. Во-вторых, все работает как часы. Быстро, четко и с очень хорошей самодиагностикой. Даже отладчик скриптов доступен пользователям и у них получается в этом работать. Идеология им понятна - так как это их предметная область. И скрипт понятен, т.к. он короткий и простой, и результат скрипта простой.