Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Директивы препроцессора #insert и #name.
|
|||
|---|---|---|---|
|
#18+
Для чего нужны директивы #insert и #name ? Из описания в хелпе ничего толком не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 15:11 |
|
||
|
Директивы препроцессора #insert и #name.
|
|||
|---|---|---|---|
|
#18+
Строго говоря, эти директивы не являются директивами прекомпилятора FoxPro. Это директивы генератора меню. Предположим, Вы содаете макет меню в построителе меню. В столбце Prompt указываете название пункта меню, в столбце "Result" выбираете "Procedure" и нажимете кнопку Create/Edit чтобы начать редактировать процедуру. Хорошо. Создали Вы текст процедуры, затем выполнили генерацию меню и получили файл с раширением MPR. Если открыть этот файл MPR на редактирование командой вида Код: sql 1. то Вы увидите, что был сформирован примерно такой код Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Т.е. имя процедуры, вызываемой из пункта меню было сгенерировано автоматически и представляет собой совершенно не читаемую последовательность символов "_3ir0zerer". Причем это имя при каждй новой генерации меню будет новым. В большинстве случаев, имя подобной процедуры роли не играет. Однако иногда желательно иметь бОльшую определенность в имени процедуры. Например, чтобы иметь возможность вызвать эту же процедуру из другого пункта меню. Вот директива прекомпилятора #name как раз и решает данную задачу. Если в окне редактирования текста процедуры построителя макета меню первой командой написать Код: sql 1. то после генерации меню и просмотра сформированного mpr-файла увидим уже что-то вроде такого кода Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Другими словами, директива #name используется для того, чтобы при генерации программного кода из предварительно созданного макета меню можно было бы указать имена конкретных процедур. Просто нет другого способа это сделать непосредственно в построителе макета меню. Хотя, на практике, это почти бесполезное занятие, поскольку если процедура должна вызываться из нескольких мест, то удобнее создавать ее явным образом в блоке Cleanup построителя меню. Или в отдельном процедурном файле. Для похожих целей используется и директива #insert. Для вставки некоего фрагмента кода в файл MPR при генерации меню из макета меню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 16:52 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=56&tid=1583631]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
3ms |
| others: | 222ms |
| total: | 344ms |

| 0 / 0 |
