Как условно предотвратить запуск включаемого файла с помощью Progress ABL? - PullRequest
0 голосов
/ 20 октября 2018

Для тех, кто знает,

Как можно условно предотвратить выполнение включения в Progress ABL?Это вообще возможно?Если не то, что вы цель?

На основе выбора пользователя - вот пример:

Если checkBox = yes, то {randomInclude.i} Иначе "Делать оставшиеся вещи"

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Вам может потребоваться поделиться кодом вашего файла включения, чтобы сделать ваш запрос более понятным для нас.

Ответ TheDrooper's показывает, как это сделать на основе условия времени компиляции.Кажется, ваш образец основан на решении во время выполнения.В этом случае я бы сделал:

If checkBox = yes then do:
    {randomInclude.i} 
end.
Else do:
    "Do remaining things"
end.

Требуется блок do, поскольку вы просто не знаете, сколько операторов находится во включаемом файле.

0 голосов
/ 20 октября 2018

Когда вы определяете включаемый файл в вашей программе, содержимое включаемого файла помещается в вашу программу в этой позиции.В вашем примере все, что находится в randominclude.i, застревает в состоянии «тогда».Как сказал Том, вам, вероятно, просто нужно обернуть его в блок DO-END.Вы также можете поместить это во включаемый файл.

Вы также можете условно включить файл во время компиляции.Предположим, это содержимое файла randominclude.i:

MESSAGE "Included" VIEW-AS ALERT-BOX INFORMATION.

Вы можете определить препроцессор в вашей программе, добавив в него следующее:

&SCOPED-DEFINE UseIt

&IF DEFINED(UseIt) &THEN
    {randominclude.i}
&ENDIF

Запустите его, и вы получите "Включено «всплывающее сообщение».Но измените препроцессор следующим образом:

&SCOPED-DEFINE DontUseIt

Запустите программу сейчас, и ничего не произойдет, потому что «UseIt» больше не определяется, так что randominclude.i не включен в программу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...