Прогресс 4GL: Как найти, где определена процедура
У меня есть код прогресса, который запускает процедуру.
RUN myProc.
Процедура может быть определена в текущей внешней процедуре, одной из ее суперпроцедур, суперпроцедуре этой процедуры, суперпроцедуре сеанса и т. Д. Я понимаю, что до времени выполнения не могу знать, где процедура определена, потому что новые супер-процедуры могут быть добавлены во время выполнения.
Есть ли способ узнать во время выполнения, где (в каком файле) определяется процедура?
2 ответа
Вы можете повторить ЭТУ ПРОЦЕДУРУ: СУПЕР-ПРОЦЕДУРЫ и СЕССИИ: СУПЕР-ПРОЦЕДУРЫ. Оба являются разделенными запятыми списками дескрипторов процедур.
Каждый дескриптор в этом списке имеет свойство INTERNAL-ENTRIES, которое представляет собой список имен внутренних процедур, разделенных запятыми.
Вы можете просто пройтись по коду в отладчике и посмотреть, куда вас это приведет. (Я не уверен, нужно ли вам знать файл в вашем коде, но я не понимаю, зачем это нужно.)