режим вызовов процедуры без передачи
<lParameter> - необязательный логический параметр, задающий при
значении .T. режим вызовов процедуры без передачи параметров (для
ускорения выполнения). При значении .F. или по умолчанию вызовы
процедуры с передачей параметров.
Возвращаемое значение
cOldProcedure - символьная строка, содержащая имя ранее установленной
процедуры, или пустая строка, если процедура не установлена.
Описание
Функция, в отличие от остальных Clipper-средств организации прерываний
по нажатию клавиш, устанавливает процедуру, вызываемую при каждой
попытке Clipper-программы получить информацию из буфера клавиатуры.
Причем вне зависимости от того, производится ли действительно набор на
клавиатуре. Сами символы из буфера клавиатуры ни какому влиянию не
подвергаются и передаются Clipper-командам без изменений.
Передача параметров вызываемой процедуре
Установленной процедуре при ее вызове, как и процедурам прерывания по
Clipper-командам SET KEY TO, передаются три параметра: имя процедуры,
номер строки и имя переменной. Передача параметров может быть
подавлена при значении .T. параметра <lParameter>.
Внимание!
Поскольку внутренние процедуры ввода не реентерабельны, то в
вызываемой процедуре нельзя использовать Clipper-команды и функции
ввода с клавиатуры типа GET/READ, PROMPT, ACCEPT, INKEY(0), MEMOEDIT()
и т.п.
Функция INPUTMODE(.T.) позволяет определить, какая из команд и функций
ввода активна при входе в вызываемую процедуру.
Примечания
. Если заданная процедура отсутствует в выполняемой программе, то
установка ее имени внутренними средствами CT II не осуществляется и
сообщение об ошибке времени выполнения не формируется. Формирование
на этапе компоновки предупреждения об отсутствии процедуры можно
обеспечить включением в текст программы Clipper-оператора