Встал такой вопрос - при создании dll (неважно в каком языке) я могу экспортировать процедуры. А глобальные переменные или константы, объявленные в модуле?
Например:
## Код:
```
MODULE MyDll;
   CONST
      Pi* = 3.14;
   VAR global* : REAL;

   PROCEDURE Assign*;
   BEGIN
      global := Pi;
      RETURN;
   END Assign;
   
END MyDll.
(!)DevLinker.LinkDll
MyDll.dll := MyDll# ~
```

В созданной dll я вижу (Dependency Walker'ом) global и Assign. Исчез Pi. При этом global я всё равно не могу использовать:
## Код:
```
MODULE MyDllInt  ["MyDll.dll"];
   VAR global* : REAL;
   PROCEDURE Assign*;
END MyDllInt.
```

Попытка, скажем, выдать в лог значение global из приведёного выше интерфейсного модуля приводит к сообщению:
> -- Цитата:
> command error: object MyDll.dll.global not found (imported from MyDllTest)
Процедура Assign при этом вызывается нормально (в смысле ошибки не вызывает).
Я что-то делаю не так или передавать константы/глобальные переменные из dll в принципе невозможно?

Конкретно, всё это нужно, чтобы использовать внешние библиотеки, в которых в самом начале могут определяться всевозможные константы и их нужно получить с теми значениями, с которыми они в определены (и, соот-но, переопределены создателем библиотеки в другой версии).