T24 рутина - ошибка компиляции - компонент не определен. $PACKAGE является обязательным?

Ниже приведен пример кода

SUBROUTINE HELLO.WORLD
*-----------------------------------------------------------------------------
*
*-----------------------------------------------------------------------------
* Modification History :
*-----------------------------------------------------------------------------
*-----------------------------------------------------------------------------

CRT "HELLO WORLD"

END

Ошибка компиляции;

01/01/2019 16:26:03 Compiling HELLO.WORLD...                    ERROR
     Error : (line 12) HELLO.WORLD.b, No component defined. $PACKAGE is mandatory !
Compilation completed for 1 file(s). 1 error
01/01/2019 16:26:03 Compiling HELLO.WORLD...                    ERROR
     Error : (line 12) HELLO.WORLD.b, No component defined. $PACKAGE is mandatory !
Compilation completed for 1 file(s). 1 error

У меня есть настройки (во время переключения природы проекта tafj в дизайн-студии);

  • TAFJ_HOME правильно.
  • Каталог T24lib в разделе "Известные библиотеки".
  • Папка Java: ....\ProjectName-models\java.
  • Папка классов: ....\ProjectName-models\classes.

Спасибо

1 ответ

Чтобы следовать "лучшему способу", у вас должен быть оператор $PACKAGE, тогда ваш JBC-код будет скомпилирован в правильный Java-пакет и помещен в JAR-файл. Обратите внимание, что перед этим вы должны сделать "Создать -> Структура папки компонентов T24" в T24 Design Studio. Это создаст файл XX.componentname.component, в котором вы можете определить подпрограммы. Этот "XX.Local.component" должен быть сначала скомпилирован:

component XX.Local
# Component Isolation Definition
metamodelVersion 1.6
# -------------------------------------------------

public method helloWorld ()
{
    jBC: HELLO.WORLD
}

Затем вы можете ссылаться на $PACKAGE в подпрограмме следующим образом:

$PACKAGE XX.Local
SUBROUTINE HELLO.WORLD
    CRT 'Hello, World!'
RETURN
END

Компонент также можно создать вручную без Design Studio. Вы не должны использовать Dunce Cap (см. Это: https://en.wikipedia.org/wiki/Dunce), если у вас нет веской причины.

Щелкните правой кнопкой мыши на папке с исходным кодом проекта и нажмите "Надеть / снять крышку Dunce". Снова скомпилируйте.

Для R19 Щелкните правой кнопкой мыши проект, перейдите в Свойства->TAFJ-> Компилятор-> Снимите флажок Поддерживать код проверки.

Это подпрограмма, ей нужен оператор RETURN

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