Форум: "Основная";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];
ВнизПомогите с оптимизацией Найти похожие ветки
← →
Novenkij (2002-08-18 15:35) [0]Как отключить оптимизацию Делпхи в циклах Фор. С циклом Фор программа не работает, переделываю на While, Repeat все хорошо но мне надоело переделывать в программе очень много вложенных циклов и неправильно оптимизируется. Помогите пожалуйста!
← →
McSimm (2002-08-18 15:43) [1]Оптимизацию можно выключить сняв галочку в
Project/Options/Compiler/Optimization
либо указав директиву компилятора {$O-}
А насчет неправильной оптимизации цикла - не верю. Ошибка не в оптимизации
← →
^Sanya (2002-08-18 15:44) [2]а можно на сам цикл посмотреть?
← →
Novenkij (2002-08-18 15:52) [3]В этом цикле в строке с * возникает ошибка Invalid Floating Operation при трасировке значение MasSh[i].xp не определено
здесь оптимизацию снимал, не помогло. Была этаже ошибка в другом месте for -> while исправил, но всегда так делать не охота
Project/Options/Compiler/Optimization
For i:=1 to KilSh do
Begin
j:=j+1;
* If (MasSh[i].xp<=xps) And (xks<=MasSh[i].xk) Then
Begin
If TMPMasSh[j].h=hs Then
begin
ShowMessage("З даним інтервалом поділу, побудувати краще нближення не можливо.");
Exit;
End;
If (MasSh[i].xp<xps) And (xks<MasSh[i].xk) Then
Begin
//MinZnF(KilKrytT: integer; MasKrytT: TmasKrytTochok; s : String; xp, xk : Extended):Extended;
// TMPMasSh[j].h:=MasSh[i].h;
TMPMasSh[j].xp:=MasSh[i].xp;
TMPMasSh[j].xk:=xps;
TMPMasSh[j].h:=MinZnF(KilKrytT, MasKrytT, s, MasSh[i].xp, xps);
j:=j+1;
TMPMasSh[j].h:=hs;
TMPMasSh[j].xp:=xps;
TMPMasSh[j].xk:=xks;
j:=j+1;
// TMPMasSh[j].h:=MasSh[i].h;
TMPMasSh[j].xp:=xks;
TMPMasSh[j].xk:=MasSh[i].xk;
TMPMasSh[j].h:=MinZnF(KilKrytT, MasKrytT, s, xks, MasSh[i].xk);
KilSh:=KilSh+1;
end;
If (MasSh[i].xp=xps) And (xks<MasSh[i].xk) Then
Begin
TMPMasSh[j].h:=hs;
TMPMasSh[j].xp:=xps;
TMPMasSh[j].xk:=xks;
j:=j+1;
//TMPMasSh[j].h:=MasSh[i].h;
TMPMasSh[j].xp:=xks;
TMPMasSh[j].xk:=MasSh[i].xk;
TMPMasSh[j].h:=MinZnF(KilKrytT, MasKrytT, s, xks, MasSh[i].xk);
end;
If (MasSh[i].xp<xps) And (xks=MasSh[i].xk) Then
Begin
//TMPMasSh[j].h:=MasSh[i].h;
TMPMasSh[j].xp:=MasSh[i].xp;
TMPMasSh[j].xk:=xps;
TMPMasSh[j].h:=MinZnF(KilKrytT, MasKrytT, s, MasSh[i].xp, xps);
j:=j+1;
TMPMasSh[j].h:=hs;
TMPMasSh[j].xp:=xps;
TMPMasSh[j].xk:=MasSh[i].xk;
end;
End
Else
Begin
TMPMasSh[j].h:=MasSh[j].h;
TMPMasSh[j].xp:=MasSh[j].xp;
TMPMasSh[j].xk:=MasSh[j].xk;
End;
End;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c