Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

watches выдает не то что должно быть по коду [D7, WinXP]


KOSik ©   (2007-03-31 14:43:00) 

Доброго времени суток.
Уж я не знаю, то ли что-то со мной, то ли что-то Delphi оптимизирует при компиляции, но в следующем коде:


function  FindCommonEndPoint(c1, c2 :TCurve):TPoint;
var
 LoopAr1, LoopAr2 :array [0..1] of integer;
 i, j :integer;
begin
 if HaveCommonEndPoint(c1, c2) then begin
   LoopAr1[0] := 0;
   LoopAr1[1] := High(c1.ps);
   LoopAr2[0] := 0;
   LoopAr2[1] := High(c2.ps);
   for i := 0 to High(LoopAr1) do begin
     for j := 0 to High(LoopAr2) do begin
       if SamePointFloat(c2.ps[LoopAr1[i]],  c2.ps[LoopAr2[j]]) then begin
         Result := Point(LoopAr1[i], LoopAr2[j]);
         Exit;
         end;
       end;
     end;    
   end
 else
   Result := Point(-1, -1);
 end;
,

где

 TPointFloat = record
   x, y :calc;
   end;
 TCurve = record
   ps    :array of TPointFloat;
   Group :integer;
   end;


Здесь в цикле watches выдает i=2 и j=2. С чем это может быть связано?


vl_chel   (2007-04-02 11:29:00) [1]

High(LoopAr1) - Не вижу смысла
А попробуй все значения вывести на экран, в т.ч. и границы цыкла


DrPass   (2007-03-31 17:05:00) [2]


> то ли что-то Delphi оптимизирует при компиляции

По умолчанию "что-то оптимизирует", причем значительно. Оптимизацию нужно выключать во время отладки, это делается в опциях компилятора


KOSik   (2007-03-31 14:54:00) [3]


> Loginov Dmitry ©   (31.03.07 14:50) [1]

работает правильно. просто отладкой заниматься сложновато, когда watches выдает не те числа. а с чем это может быть связано? мне просто интересно.


Loginov Dmitry   (2007-03-31 14:50:00) [4]

Работает правильно? Тогда забей!


Наверх

Титульная страница Поиск, карта сайта Написать письмо