А как правильно использовать SYSTEM для получения значения переменной?
Раньше удавалось избегать использования SYSTEM.

Я придумал так:
1. Получить модуль m := Kernel.ThisMod("Kernel");
2. Найти по имени нужную переменную Kernel.GetRefProc(ref, adr, name); Kernel.GetRefVar(ref, mode, form, desc, adr, name);
3. Адрес переменной указан относительный, поэтому складываем его с базой S.GET(m.varBase + adr, p);

Всё верно? Или можно проще?