Клиппер 5. Справочник

режим вызовов процедуры без передачи


 
    <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-оператора

Содержание раздела