Главная страница
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.051 c
4-1104954636
Arnold
2005-01-05 22:50
2005.02.20
Как узнать список файлов в выбранной директории?


6-1102608173
Erlan
2004-12-09 19:02
2005.02.20
Проблемы с NMHttp


14-1106797450
Думкин
2005-01-27 06:44
2005.02.20
С днем рождения! 27 января


4-1104329917
Tatianka
2004-12-29 17:18
2005.02.20
Как получить код возврата потока, вызываемого из другого прилож?


14-1106956720
Vadim
2005-01-29 02:58
2005.02.20
Почему программистов считают странными людьми ?