Для меня открылся один интересный момент при сборке библиотеки из модулей.

В моём случае из модуля на КП экспортируются разные переменные, среди них есть переменная типа ЗАПИСЬ с полемmesстрокового типа, рассчитанная на чтение в FreePascal.
## Код:
```
TYPE
      ErrType* = RECORD
         error-: BOOLEAN;
         mes-: ARRAY 127 OF SHORTCHAR;
         location-: INTEGER
      END;
      Str = ARRAY 8 OF SHORTCHAR;
   VAR
      err*: ErrType;
      str: Str;
```
В случае, когда в программе на FP получаю переменную err, строка err.mes не отображается, потому что первые 3 символа забиты нулями, а начиная с4-го начинается строка.
В случае чтенияstrстрока имеет предполагаемое содержание, как и было задано в модуле на КП, и полностью отображается! Почему так?

## Код:
```
MODULE TestExport;

IMPORT SYSTEM (*, Kernel *);

   TYPE
      TA = RECORD
         d,
         d2: REAL;
      END;

      TString = ARRAY [untagged] OF CHAR;
      Name = ARRAY 40 OF SHORTCHAR;
      
      ErrType* = RECORD
         error-: BOOLEAN;
         mes-: ARRAY 127 OF SHORTCHAR;
         location-: INTEGER
      END;
      Str = ARRAY 8 OF SHORTCHAR;
      
   VAR
      Int-: INTEGER;
      A-: POINTER TO TA;
      name*: Name;
      err*: ErrType;
      str: Str;
   
   PROCEDURE GetLinkerError* (OUT error: ErrType);
   BEGIN
      error := err
   END GetLinkerError;
   
   PROCEDURE GetStr* (OUT s: Str);
   BEGIN
      s := str
   END GetStr;

   PROCEDURE Do*;
   BEGIN
      (*NEW(A);
      A.d := 321.345;
      A.d2 := A.d*2.0;*)
      Int := 3*1024;
      err.error := TRUE; err.location := -100; err.mes := "!debug:";
      str := "!debug:";
   END Do;

END TestExport.
```
