Es kann sein das AIndex in Wahrheit 'was anderes steht' wegen Optimierungen.
Prüf am besten mal so:
Delphi-Quellcode:
if (AIndex < 11) or (AIndex > 18) then
MessageDlg('AIndex fehlerhaft', mtError, [mbOK], 0);
Edit:
Delphi-Quellcode:
procedure TMyForm.chBoxClick(Sender: TObject);
var
CtrlIntCap: Integer;
MyHandler: THandler;
begin
if Sender is TCheckBox then
begin
CtrlIntCap := StrToInt(TCheckBox(Sender).Caption);
if (CtrlIntCap <= 18) and (CtrlIntCap >= 11) then
MyHandler.SetPosition(CtrlIntCap);
end;
end;
MyHandler: THandler;
wurde nie erzeugt, dh du greifst auf MyHandler zu welches auf nil zeigt.