P-Code

Материал из RSB-Doc
Перейти к: навигация, поиск

Содержание

P-Code — что это такое?

Это сохранённое дерево синтаксического разбора макро-файлов RSL (*.mac). При выполнении исходного кода RSL, синтаксический разбор производится при каждой загрузке макро-файла. При использовании p-code это происходит один раз и/или при изменении исходного кода (в зависимости от настроек), за счет чего достигается увеличение производительности системы. При разборе каждого макро-файла создается соответствующий файл p-code с таким же именем и расширением rsm.

Преимущества

Использование P-Code имеет два неоспоримых преимущества:

  1. Скорость работы клиента увеличивается на 20-30 % и даже более.
  2. Часто в процессе эксплуатации программы (по соображениям безопасности, например) следует закрыть код программы от конечного пользователя.

Настройки

Для работы с p-code есть следующие настройки в rcwhost.ini:

RSMPATH = %EXEDIR%\rsm — путь, где хранятся файлы .rsm

PCODEMODE = [0|1|2|3|4]

Имеющиеся недостатки

В настоящий момент (RS-Balance 3.16.000, Tools Complect 15.60) иногда файлы .rsm генерируются с ошибкой (например, RS-Tools Tracker, SCR 2143). Например, получается такое сообщение при запуске любимого отчета «Ведомость остатков на дату»:

error 70: (P-Code) инвалидная ссылка D:\NewBalance\RSBal316_15\rsm\RDDLGSUBJECTWAREHOUSE.rsm (code = 0x46)

Но работать с p-code хочется уже сейчас, тем более, что более 99 % rsm-файлов созданы и работают корректно! Поэтому предлагается следующий

Порядок работы

  1. Установить в rcwhost.ini PCODEMODE = 3;
  2. При появлении подобной ошибки установить PCODEMODE = 1 и удалить файл .rsm, указанный в сообщении об ошибке.

Например, для запуска любимого отчета «Ведомость остатков на дату» пришлось удалить всего три файла: RDDLGSUBJECTWAREHOUSE.rsm, RDDLGREPRESENTATIVE.rsm и RDDLGSUBJECT.rsm

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Для разработки
Инструменты