anchor.diff:       FOnOpenErr:TErrEvent;
        FOnCloseErr:TErrEvent;
   
  -      function LibPossible(Lib:string):boolean;
  -      function GetLib:byte;
  +      function LibPossible(Lib:string):boolean;             // jestli je mozne nacist danou knihovnu (zadava se filaname)
  +      function GetLib():byte;                               // vrati index aktualne nactene knihovny
   
         //events from libraly
         procedure DllBeforeOpen(Sender:TObject);
  
positive.code:   //     1 - mtb.dll
    //     2 - simulator.dll
  
    TMTB=class
     public const
       _MAX_MTB = 192;
  
     private
       Desky:array [0.._MAX_MTB-1] of TMTBBoard;     // pole je indexovano MTB adresami
  
       OD:TOutputdriver;                        //pro komunikaci s MTB - Michalova knihovna
  
       alib:string;                                       //aktualni knihovna
       aStart,aOpenned:boolean;
       afilename:string;
  
       DllVersion:string;
       DriverVersion:string;
       DeviceVersion:string;                             //verze firmware v MTB-USB
  
       fGeneralError:boolean;
  
       //events to the main program
       FOnOpen:TMainEvent;
  
negative.code: 
        procedure DllOnError(Sender: TObject; errValue: word; errAddr: byte; errMsg:string);
  
        function GetMTBCount():Byte;                          // vrati pocet nalezenych MTB desek
  
     public
        constructor Create();
        destructor Destroy; override;
  
        function Open():Byte;                                 // otevre MTB zarizeni a naskenuje moduly
        function Close():Byte;                                // zapne komunikaci
  
        function LoadLib(NewLib:string;Must:Boolean=false):Byte; // nacte MTB knihovnu
        function Go(ShowForm:boolean = true):Byte;           // spusti komunikaci MTB
        function Stop:Byte;                                  // zastavi komunikaci MTB
        procedure InputSim;                                  // pokud je nactena knihovna Simulator.dll, simuluje vstupy (koncove polohy vyhybek atp.)
        procedure SoupravaUsekSim;                           // nastavit MTB vstupy tak, aby useky, n akterych existuje souprava, byly obsazene
  
        procedure SetOutput(MtbAdr:integer;vystup:integer;state:integer);
        procedure SetInput(MtbAdr:integer;vstup:integer;state:integer);
  