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;