![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Работает правильно? Тогда забей!