if sAnzahl<i then begin
        if sAnzahl=-1 then sAnzahl := 0;
        for i2 := sAnzahl to i do
          sModule.add(tModul.create);
      end else begin
        for i2 := sAnzahl downto i+1 do begin
          Dispose(sModule[i2]);
          sModule.Delete(i2);
        end;
      end;
    end;
    sAnzahl := i;
  end;
end;

procedure tModule.setModul(i : integer; modul: tModul);
begin
  if i>sAnzahl then begin
    eExceptions.Create('Index overflow!');
  end else begin
    sModule[i] := Modul;
  end
end;

function tModule.getModul(i:integer) : tModul;
var
  dummy : tModul;
begin
  if i>sAnzahl then begin
    eExceptions.Create('Index overflow!');
    dummy := tModul.create;
    try
      with dummy do begin
        Typ := tTyp(-1);
      end;
      Result := dummy;
    finally
      dummy.free;
    end;
  end else begin
    Result := sModule[i];
  end
end;

procedure tModule.setCompiBaudrate(const Value: tBaudrate);
begin
  case Value of
    br9600:  sCompiBaudrate := comport.br9600;
    br19200: sCompiBaudrate := comport.br19200;
    br38400: sCompiBaudrate := comport.br38400;
  end;
  Init;
end;

function tModule.getCompiBaudrate: tBaudrate;
begin
  case sCompiBaudrate of
    comport.br9600:  Result := br9600;
    comport.br19200: Result := br19200;
    comport.br38400: Result := br38400;
    else
      Result := tBaudrate(-1);
  end;
end;