![]()
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||||||||||||||||||||||||||||
Функції – обробники.Таблиці трансляції. Таблиця трансляції є структурою, подібною таблиці повідомлень MFC, і використовується методом CallFunction() для перенаправлення запитів клієнтів функціям – обробникам. У кожній динамічній бібліотеці ISA, що використовує класи MFC, повинна бути визначена рівно одна таблиця трансляції. Таблиця трансляції починається з макрокоманди BEGIN_PARSE_MAP, яка приймає в якості параметрів ім'я класу, що визначає таблицю, і його базового класу (звичайно CHttpServer), а закінчується макрокомандою END_PARSE_MAP, єдиним параметром якої є ім'я класу, що визначає таблицю. Між макрокомандами початку і кінця таблиці вставляються оператори обробки елементів запиту – макрокоманди ON_PARSE_COMMAND, параметрами яких є ім'я метода, ім'я класу, в якому визначено цей метод, і список констант, що є аргументами функції – обробника.
Розглянемо приклад таблиці трансляції:
BEGIN_PARSE_MAP(CMyISA, CHttpServer) ON_PARSE_COMMAND(myFunc1, CMyISA, ITS_I2 ITS_PSTR) ON_PARSE_COMMAND_PARAMS(“param1 param2=default”) ON_PARSE_COMMAND(myFunc2, CMyISA, ITS_I4) ON_PARSE_COMMAND_PARAMS(“myIndex=123”) DEFAULT_PARSE_COMMAND(myFunc1, CMyISA) END_PARSE_MAP(CMyISA)
Макрокоманда ON_PARSE_COMMAND_PARAMS, яка використовується в приведеному нижче прикладі, застосовується для завдання параметрів команди, поміщеної в операторі ON_PARSE_COMMAND безпосередньо перед ON_PARSE_COMMAND_PARAMS. Ця макрокоманда використовується також для привласнення параметрам значень за замовчуванням. У даному прикладі, якщо в запиті є команда myFunc1, вона повинна мати параметр з ім'ям param1. Якщо параметр param2 відсутній, йому привласнюється значення за замовчуванням. В даному прикладі також демонструється використання макрокоманди DEFAULT_PARSE_COMMAND, яка задає обробник (і його клас) для тих випадків, коли запит не містить команд.
Функції – обробники, вказані в макрокомандах ON_PARSE_COMMAND, повинні бути методами класу, похідного від CHttpServer. Всі вони повинні повертати void і приймати в якості першого параметра покажчик на об'єкт CHttpServerContext, а також додаткові параметри, перераховані в макрокоманді ON_PARSE_COMMAND. Розглянемо наступний оператор таблиці трансляції:
ON_PARSE_COMMAND(foo, CMyISA, ITS_I4 ITS_PSTR)
Прототип функції – обробника повинен виглядати таким чином:
void CMyISA::foo(CHttpServerContext* pCtxt, int param1, LPTSTR pszParam2);
Читайте також:
|
||||||||||||||||||||||||||||||||||
|