Режим: Обычное приложение.
Выполнение: файловая база
Есть общий модуль с установленными флажками:
Сервер
Клиент (обычное приложение)
другие флаги не установлены
Внутри есть такой текст
#ЕСЛИ СЕРВЕР ТОГДА
//////////////////////////////////////////////////////////////////////////////////
//// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В СЕРВЕРНОМ КОНТЕКСТЕ
//////////////////////////////////////////////////////////////////////////////////
#ИНАЧЕ
//////////////////////////////////////////////////////////////////////////////////
//// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В КЛИЕНТСКОМ КОНТЕКСТЕ ИЛИ ВО ВНЕШНЕМ СОЕДИНЕНИИ
/// ОБРАБОТЧИКИ ИНТЕРАКТИВНЫХ СОБЫТИЙ
//////////////////////////////////////////////////////////////////////////////////
функция НекаяФункция() экспорт
#КОНЕЦЕСЛИ
Проблема: Вот эта самая НекаяФункция() не видна с клиентского контекста (из формы). Почему?
Если директивы #ЕСЛИ СЕРВЕР ТОГДА #ИНАЧЕ убрать - функция становится видан
И как правильно разграничить алгоритмы которые должны выполняться строго на сервере от остальных, доступных на клиенте и внешнем соединении?
#ЕСЛИ СЕРВЕР ТОГДА
//////////////////////////////////////////////////////////////////////////////////
//// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В СЕРВЕРНОМ КОНТЕКСТЕ
//////////////////////////////////////////////////////////////////////////////////
#КОНЕЦЕСЛИ
#ЕСЛИ КЛИЕНТ ТОГДА
//////////////////////////////////////////////////////////////////////////////////
//// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В КЛИЕНТСКОМ КОНТЕКСТЕ
/// ОБРАБОТЧИКИ ИНТЕРАКТИВНЫХ СОБЫТИЙ
//////////////////////////////////////////////////////////////////////////////////
функция НекаяФункция() экспорт
#КОНЕЦЕСЛИ
Теперь на клиенте функция видна ;)
Думаю проблема была в файловой ИБ
Есть ещё один вопрос
Если у общего модуля установлены флажки:
Сервер
Вызов сервера
То что даёт установка флагов
Клиент (управляемое приложение)
Клиент (обычное приложение)
Внешнее соединение
Ведь все методы этого модуля и так буду вызываться только на сервере. И будут доступны с клиентского контекста даже без установки данных флажков
Так для чего они остаются доступны к изменению?
Или я что-то не понимаю?
(6) "Ведь все методы этого модуля и так буду вызываться только на сервере" - это скуяли, если флаг "Клиент" стоит?
И при установке всех этих флагов, ЕМНИП, фиг ты поставишь "Вызов сервера"
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший