ProcessMessages выдает ошибку при некоторых значениях функции, никак с ней не связанной.
Код:
While not (Form23.r=100) do // бесконечный цикл, пока флаг остановки не поднят:
begin
try
Form23.razgAZ;
Form23.firebol;
Form23.sswave;
if (CheckBox9.Checked)or(CheckBox1.Checked) then
begin
if tit=0 then begin
Chart1.LeftAxis.Title.Caption:='Воздействие волны давления на человека, наход. вне здания';
inc(tit);
end else Chart1.LeftAxis.Title.Caption:='';
Chart1.AddSeries(S8);
S8.Title:='Воздействие волны давления на человека, наход. вне здания';
s8.AddXY(Form23.r,Form23.fprvz);
end;
if (CheckBox12.Checked)or(CheckBox1.Checked) then
begin
if tit=0 then begin
Chart1.LeftAxis.Title.Caption:='Избыточное давление';
inc(tit);
end else Chart1.LeftAxis.Title.Caption:='';
Chart1.AddSeries(s5);
s5.Title:='Избыточное давление';
s5.AddXY(Form23.r,Form23.fp);
end;
Form23.r:=form23.r+1;
Sleep(10);
Application.ProcessMessages;
Except on E : Exception do
ShowMessage(E.ClassName+' ошибка с сообщением : '+E.Message);
end;
ошибка типа invalid pointer operation, возникает при выборе CheckBox12 , без Application.ProcessMessages; все работает идеально, но не совсем красиво)