Как отключить функциональную клавишу в файле дисплея без использования индикатора для отключения ее командной функции?

Предположим, что в файле дисплея DDS CF20 указано, чтобы сделать F20 доступным. Теперь я хочу отключить эту функцию, когда в программе RPG выполняется определенное условие. Поскольку эта программа уже использовала все индикаторы общего назначения In01-IN99, использование индикатора для деактивации ключевого слова CF20 в файле отображения не вариант. Есть ли другая альтернатива для этого?


person God_of_Thunder    schedule 26.07.2012    source источник
comment
Некоторые индикаторы только внутренние (для программы)? Если это так и ваша версия RPG поддерживает это, рассмотрите возможность использования переменных общего логического (N) типа. Или вам действительно удалось использовать все 99 индикаторов в файле дисплея / принтера? Если это так, ваша программа вероятно слишком велика и ее следует разделить. Я не могу вспомнить наверняка, но вы можете использовать P-поля для включения / выключения клавиш (но я никогда с ними не работал) - я знаю, что вы можете делать некоторые вещи , например, изменение цвета, защищенный статус поля и т. д.   -  person Clockwork-Muse    schedule 26.07.2012


Ответы (1)


Когда пользователь нажимает F20 и программа RPG решила, что это не разрешено, уведомите пользователя и запретите действие F20 внутри программы. Другими словами, вообще ничего не делайте с файлом отображения, всю работу выполняйте внутри программы RPG.

person Buck Calabro    schedule 26.07.2012
comment
Означает ли это, что отключить F20 в файле дисплея без индикатора невозможно? - person God_of_Thunder; 26.07.2012
comment
Верно. Только индикатор может определить, доступна ли F20 или нет. - person Buck Calabro; 26.07.2012
comment
Используйте другой метод, чтобы освободить один из ваших других индикаторов, затем вы можете использовать его для управления F20. Мы с Баком недавно ответили на вопрос об этих методах. [Мне нужно научиться вставлять ссылку ;-)] - person WarrenT; 26.07.2012
comment
stackoverflow.com/questions/11649945/ - person Buck Calabro; 26.07.2012
comment
Во всяком случае, это был его вопрос. : o) Спасибо, Бак - person WarrenT; 26.07.2012