ПРИСВОИТЬ значение атрибуту виджета во фрейме

#assign #openedge #progress-4gl

#присвоить #openedge #прогресс -4gl

Вопрос:

Изучая Progress 4GL, я наткнулся на следующий фрагмент кода, присваивающий значение атрибуту виджета внутри фрейма:

 ASSIGN Rep-Editor:READ-ONLY IN FRAME Dialog1 = YES
       Rep-Editor:SENSITIVE IN FRAME Dialog1 = YES.
 

Как вы можете догадаться:
Dialog1 это имя фрейма.
Rep-Editor это имя виджета, размещенного внутри фрейма.

Для меня это выглядит очень запутанным: это все равно, что сказать, что значение фрейма равно «ДА», я ожидаю, что присвоенная переменная и значение будут рядом друг с другом, что-то вроде:

 ASSIGN Dialog1.Rep-Editor:READ-ONLY = YES, /* or: */
ASSIGN Dialog1->Rep-Editor:READ-ONLY = YES
 

Это, очевидно, неправильный синтаксис. Есть ли синтаксис прогресса, подобный этому, который я могу использовать?

Ответ №1:

Ну… это синтаксис ABL почти 40-летней давности …

Вы могли бы обернуть все внутри

 DO WITH FRAME Dialog1:
  ASSIGN Rep-Editor:READ-ONLY = YES
         Rep-Editor:SENSITIVE = YES.
END.
 

блок.