Прогресс 4GL: Как найти, где определена процедура

У меня есть код прогресса, который запускает процедуру.

RUN myProc.

Процедура может быть определена в текущей внешней процедуре, одной из ее суперпроцедур, суперпроцедуре этой процедуры, суперпроцедуре сеанса и т. Д. Я понимаю, что до времени выполнения не могу знать, где процедура определена, потому что новые супер-процедуры могут быть добавлены во время выполнения.

Есть ли способ узнать во время выполнения, где (в каком файле) определяется процедура?

2 ответа

Решение

Вы можете повторить ЭТУ ПРОЦЕДУРУ: СУПЕР-ПРОЦЕДУРЫ и СЕССИИ: СУПЕР-ПРОЦЕДУРЫ. Оба являются разделенными запятыми списками дескрипторов процедур.

Каждый дескриптор в этом списке имеет свойство INTERNAL-ENTRIES, которое представляет собой список имен внутренних процедур, разделенных запятыми.

Вы можете просто пройтись по коду в отладчике и посмотреть, куда вас это приведет. (Я не уверен, нужно ли вам знать файл в вашем коде, но я не понимаю, зачем это нужно.)

Другие вопросы по тегам