Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.29;
Скачать: CL | DM;

Вниз

Помогите с оптимизацией   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-95954
Snake bite
2002-08-01 22:38
2002.08.29
Книга по HTML


14-95943
Самборский
2002-08-03 16:10
2002.08.29
Переход на Delphi6


3-95632
j_onion
2002-08-06 04:09
2002.08.29
Перенос BDE


1-95782
FLIZ_
2002-08-19 15:49
2002.08.29
Как из под Дельфи-программы отформатировать дискету?


1-95904
stany
2002-08-18 21:55
2002.08.29
Как изменять только Width компонента Panel мышью в Runtime?