Была такая проблема с портированием заголовка GLUT.h

Компилятор BlackBox 1.5 не разрешает использование системных флагов в процедурных типах. Параметры-процедуры Вы определяете как обычные процедуры (без системного флага [ccall]). При этом фактические процедуры должны быть определены с этим флагом. Компилятор игнорирует разницу. Проблем не возникает, поскольку эти процедуры вызываются только библитотекой GLUT (т.е. как [ccall]).

Пр.:
## Код:
```
MODULE OglGLUT['glut32'];
PROCEDURE ReshapeFunc* ['glutReshapeFunc'] (f: PROCEDURE (width, height: INTEGER));
....
END OglGLUT.

MODULE OglGLUTExplosion;
...
   PROCEDURE [ccall] ReshapeCallback (w, h: INTEGER);
   BEGIN
      Resize(w, h)
   END ReshapeCallback;

   PROCEDURE Init (): BOOLEAN;
...
   BEGIN
...
         GLUT.ReshapeFunc(ReshapeCallback);
...
   END Init;
END OglGLUTExplosion.
```
Компилятор BlackBox 1.6 разрешает использование системных флагов в процедурных типах (и различает их наличие). Поэтому все параметры-процедуры, как и фактические процедуры обратного вызова, обязаны быть объявлены с флагом [ccall].