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

Equate и фильтр бровса

Добавлено: 02 Апрель 2006, 0:09
Ольга
Как передать константу Еconst, заданную с помощью Equate(1), в фильтр бровса? Пишет , что Еconst не забиндована...А биндовать можно только переменные, имена функций и группы. Использование BINDEXPRESS тоже не помогает.

АВС , Cee 6.3

Re: Equate и фильтр бровса

Добавлено: 02 Апрель 2006, 8:58
Игорь Столяров
Ольга писал(а):Как передать константу Еconst, заданную с помощью Equate(1), в фильтр бровса? Пишет , что Еconst не забиндована...А биндовать можно только переменные, имена функций и группы. Использование BINDEXPRESS тоже не помогает.

АВС , Cee 6.3
Создать переменную VarЕconst, присвоить ей значение Еconst, ее уже забиндить и передать в фильтр Browse ?

Добавлено: 02 Апрель 2006, 11:05
Ольга
Спасибо, Игорь:) т.е. надо выкручиваться...не очень удобно. Странно вообще-то почему такие константы не принимаются прямо.

Добавлено: 02 Апрель 2006, 12:00
Игорь Столяров
Нет - как раз с этим все просто.
Предопределенные константы определяются на этапе компиляции (т.е. сборке приложения) и не могут быть изменены (переопределены) в процессе выполнения программы. Т.е. в готовом приложении констатны уже заменены на их значения компилятором. Фильтр - это некая символьная строка передаваемая драйверу БД - соответственно в этой строке могут быть переменные или функции "привязанные" к конкретным адресам с помощью BIND. А вот замену меток констант на значения в символьной строке фильтра компилятор не выполняет, что наверно правильно. Вот и все. :)