Как избавиться от «$-файлов»

Ну, совсем от них не избавиться, но можно их держать отдельно от исходников. Вот рецепт (для директории с исходниками ETC.BP):

CREATE-FILE DATA ETC.BP,OBJECT 101

[ 417 ] File ETC.BP]MOBJECT created , type = J4

LIST ETC.BP

SOME.TEST

1 Records Listed

BASIC -I..\T24.BP ETC.BP SOME.TEST

SOME.TEST
BASIC_2.c
Source file SOME.TEST compiled successfully

LIST ETC.BP

SOME.TEST
1 Records Listed

LIST ETC.BP,OBJECT

$SOME.TEST
1 Records Listed

Всех с наступающими!

Передача руля

Всем привет. «Руль» данного блога передан мне Андреем после его переключения на работу, не связанную с Глобусом (надеюсь, что это переключение временное).

Частых постов не ждите, но время от времени постараюсь публиковать что-то полезное.

В.Казимирчик.

Как применять DEBUG и не портить жизнь коллегам

Иногда для полноценной отладки не обойтись без DEBUG в рутине, но при этом надо предупредить своих коллег, что версию/запрос нельзя запускать из под Desktop/Browser. Иногда всех заинтересованных лице известить не получается, да и к тому же надо сначала предупредить, что DEBUG есть, а потом &#151 что его уже нет. Чтобы упросить себе и другим жизнь, давайте обратимся к документу «Programming Standards.pdf»:

There are «standard» methods for determining whether an application or subroutine is running in any specified environment:
- For OFS the common variable GTSACTIVE will be set.
- For GUI the common variable TTYPE will contain the text GUI.
- For Browser the common variable GTSACTIVE will be set.

Получается, что для того, чтобы не портить жизнь своим коллегам, работающим под Desktop, достаточно написать:

IF NOT(INDEX(TTYPE,'GUI',1)) THEN DEBUG

Для того, чтобы экранировать DEBUG для пользователей Browser и OFS-обработки, понадобится следующая конструкция:

$INSERT I_GTS.COMMON
IF NOT(GTSACTIVE) THEN DEBUG

Можно заранее заготовить кусок кода, объединив оба примера, и вставлять его вместо DEBUG:

$INSERT I_GTS.COMMON
IF NOT(INDEX(TTYPE,'GUI',1) OR GTSACTIVE) THEN DEBUG

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

P.S. Спасибо моему коллеге SIA за идею.

Follow

Get every new post delivered to your Inbox.