Вниз
Скачать: CL | DM;

watches выдает не то что должно быть по коду   Найти похожие ветки 

 
KOSik ©   (2007-03-31 14:43) [0]

Доброго времени суток.
Уж я не знаю, то ли что-то со мной, то ли что-то 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. С чем это может быть связано?


 
Loginov Dmitry ©   (2007-03-31 14:50) [1]

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


 
KOSik ©   (2007-03-31 14:54) [2]


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

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


 
DrPass ©   (2007-03-31 17:05) [3]


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

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


 
vl_chel ©   (2007-04-02 11:29) [4]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.048 c
2-1178624343
Rimd
2007-05-08 15:39
2007.05.27
CopyFile(PChar(OldFile),PChar(NewFile),False)


11-1160311139
SergeR
2006-10-08 16:38
2007.05.27
PaintBox и PBitmap


3-1173791992
AlexLines
2007-03-13 16:19
2007.05.27
Поиск по blob


6-1163759207
Gavrila
2006-11-17 13:26
2007.05.27
TIdMessage - определить, что письмо помечено на удаление?


15-1177592026
Kolan
2007-04-26 16:53
2007.05.27
Как найти где можно получить сертификаты Borland в моём городе?




   Наверх