Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-95922
sergling
2002-06-19 22:39
2002.08.29
Кто писал шлюзы, поделитесь опытом


1-95854
Keymaster
2002-08-18 01:36
2002.08.29
Два нехитрых вопроса


3-95649
lety
2002-08-07 18:22
2002.08.29
в процессе открытия таблицы


1-95812
lipskiy
2002-08-15 01:46
2002.08.29
Можно ли получить имя процедуры/функции в строковую переменную?


4-96018
z0ne
2002-06-26 12:42
2002.08.29
Проблема с BeginPath





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский