|
Вопрос про директивы разделения доступности процедур и функций в общих модулях | ☑ | ||
---|---|---|---|---|
0
Darklight
15.08.14
✎
12:47
|
Режим: Обычное приложение.
Выполнение: файловая база Есть общий модуль с установленными флажками: Сервер Клиент (обычное приложение) другие флаги не установлены Внутри есть такой текст #ЕСЛИ СЕРВЕР ТОГДА ////////////////////////////////////////////////////////////////////////////////// //// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В СЕРВЕРНОМ КОНТЕКСТЕ ////////////////////////////////////////////////////////////////////////////////// #ИНАЧЕ ////////////////////////////////////////////////////////////////////////////////// //// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В КЛИЕНТСКОМ КОНТЕКСТЕ ИЛИ ВО ВНЕШНЕМ СОЕДИНЕНИИ /// ОБРАБОТЧИКИ ИНТЕРАКТИВНЫХ СОБЫТИЙ ////////////////////////////////////////////////////////////////////////////////// функция НекаяФункция() экспорт #КОНЕЦЕСЛИ Проблема: Вот эта самая НекаяФункция() не видна с клиентского контекста (из формы). Почему? Если директивы #ЕСЛИ СЕРВЕР ТОГДА #ИНАЧЕ убрать - функция становится видан И как правильно разграничить алгоритмы которые должны выполняться строго на сервере от остальных, доступных на клиенте и внешнем соединении? |
|||
1
Defender aka LINN
15.08.14
✎
12:53
|
(0) Разнеси в разные модули
|
|||
2
Darklight
15.08.14
✎
12:55
|
(1)Это я знаю, но в данном случае хотелось бы оставить в одном
|
|||
3
Franchiser
гуру
15.08.14
✎
12:59
|
не видна наверно потому что Обычное приложение.
|
|||
4
Darklight
15.08.14
✎
12:59
|
(3)И чем же оно мешает?
|
|||
5
Darklight
15.08.14
✎
13:06
|
Корооче написал вот так
#ЕСЛИ СЕРВЕР ТОГДА ////////////////////////////////////////////////////////////////////////////////// //// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В СЕРВЕРНОМ КОНТЕКСТЕ ////////////////////////////////////////////////////////////////////////////////// #КОНЕЦЕСЛИ #ЕСЛИ КЛИЕНТ ТОГДА ////////////////////////////////////////////////////////////////////////////////// //// ПРОЦЕДУРЫ И ФУНКЦИИ, ДОСТУПНЫЕ ТОЛЬКО В КЛИЕНТСКОМ КОНТЕКСТЕ /// ОБРАБОТЧИКИ ИНТЕРАКТИВНЫХ СОБЫТИЙ ////////////////////////////////////////////////////////////////////////////////// функция НекаяФункция() экспорт #КОНЕЦЕСЛИ Теперь на клиенте функция видна ;) Думаю проблема была в файловой ИБ |
|||
6
Darklight
15.08.14
✎
13:17
|
Есть ещё один вопрос
Если у общего модуля установлены флажки: Сервер Вызов сервера То что даёт установка флагов Клиент (управляемое приложение) Клиент (обычное приложение) Внешнее соединение Ведь все методы этого модуля и так буду вызываться только на сервере. И будут доступны с клиентского контекста даже без установки данных флажков Так для чего они остаются доступны к изменению? Или я что-то не понимаю? |
|||
7
Defender aka LINN
15.08.14
✎
16:15
|
(6) "Ведь все методы этого модуля и так буду вызываться только на сервере" - это скуяли, если флаг "Клиент" стоит?
И при установке всех этих флагов, ЕМНИП, фиг ты поставишь "Вызов сервера" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |