Главная страница
    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.44 MB
Время: 0.028 c
1-1107156918
vasili
2005-01-31 10:35
2005.02.20
РАБОТА с объектом ActionToolBar, XPColorMap1 и прочим


14-1107255031
P.N.P.
2005-02-01 13:50
2005.02.20
WinRoute 4.1 - SMTP


1-1107531869
ShimON
2005-02-04 18:44
2005.02.20
Отследить нажатие на крестик


1-1107494504
cvg
2005-02-04 08:21
2005.02.20
Как задать фонту св-во Bold?


14-1106747786
}|{yk
2005-01-26 16:56
2005.02.20
Требуется программист!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский