Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
14-1107034236
каспер
2005-01-30 00:30
2005.02.20
пункт меню "создать"


14-1106976537
Aleksandr
2005-01-29 08:28
2005.02.20
Кто поёт?


1-1107467967
rts111
2005-02-04 00:59
2005.02.20
Как сохранить tbitmap в jpg?


8-1099053979
dedMazDie
2004-10-29 16:46
2005.02.20
Параметры видеокамеры


14-1106832227
syte_ser78
2005-01-27 16:23
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский