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

Вниз

Непонятная мне странность.   Найти похожие ветки 

 
Unknown user ©   (2005-02-02 19:08) [0]

Привожу код:

//вычисляет индекс параграфа и символа после перемещения в направлении Dir
procedure CalcNextCharInd(Dir:TCaretMove; const NowParaInd,NowChrInd:integer;var NextParent:TTextItem; var NextParaInd,
                     NextChrInd,NextCellInd:integer);
var PrInd,ChInd,LnInd,FrInd,CelInd,
    RwInd,ClInd,ChHeight,ChWidth:integer;
    ChPos:TPoint;
    Prnt:TTextItem; Tbl:TTableItem;
label LeftRepeatCalcPara,
      RightRepeatCalcPara,
      UpRepeatCalcPara,
      DownRepeatCalcPara;
begin

 //точка 1

 Prnt:=FTextItem; PrInd:=NowParaInd;  ChInd:=NowChrInd;
 NextParent:=Prnt; NextParaInd:=PrInd; NextChrInd:=ChInd;

 //точка 2

.
.
.
end;


Вызывается эта процедура так:

 CalcNextCharInd(ADir,FTo.ParaInd,FTo.CharInd,Itm,
                 NewTo.ParaInd,NewTo.CharInd,NewTo.CellInd);

 //точка 3

и при этом NextParent,NextParaInd,NextChrInd,NextCellInd  содержат в точке 1 совершенно нереальные,огромные значения, которые не изменяются и в точке 2, хотя определены до вызова процедуры. Эти значения не случайны, при каждом новом старте они повторяются. В точке 3 вижу уже измененные настоящие значения, но для NewTo.CharInd при определенных условиях оно отличается от назначенного в CalcNextCharInd на 1. Из-за чего такое может быть?


 
Unknown user ©   (2005-02-03 09:42) [1]

У кого-то было нечто подобное?


 
Александр Иванов ©   (2005-02-03 09:44) [2]

Было - алгоритмическая ошибка


 
Unknown user ©   (2005-02-03 09:51) [3]

А как объяснить такое поведение компилятора? Если переменная не используется после записи в нее значения то в целях оптимизации компилятор может это значение и не записывать, но тут переменные используются. В чем же дело?



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

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
1-1107761082
dreamse
2005-02-07 10:24
2005.02.20
Проблема с копированием директорий


1-1107275184
creage
2005-02-01 19:26
2005.02.20
Как обвести выделенный объект в TListView?


3-1106059126
SHort
2005-01-18 17:38
2005.02.20
Как форматировать значения в QRExpr?


1-1107347080
Dmitry_04
2005-02-02 15:24
2005.02.20
Скинообразная форма непрямоугольногоя


14-1106885873
КаПиБаРа
2005-01-28 07:17
2005.02.20
Опрос - А что у Вас хорошего случилось в последнее время?