Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
ВнизПлата за "витание в облаках" в момент работы :) Найти похожие ветки
← →
Riply © (2007-06-14 03:17) [0]Всего в одном месте большого проекта написала: FillChar(ByteArr, Length(ByteArr), 0);
где ByteArr: array of Byte; Ну хоть убейте - не помню когда.
В эту строчку в процессе работы программы попадаем-то раз в сто лет, в зависимости от расположения звезд :)
Зато, сейчас, три с половиной часа ловила совсем нерегулярный AV, в совершенно другом месте проекта.
Резюме: когда работаете - не мните себя Юлием Цезарем, даже если пишете простейший код :)
← →
Petr V.Abramov (2007-06-14 03:40) [1]Резюме: когда работаете - не мните себя Юлием Цезарем, даже если пишете простейший код :)
"вот оно, просветленье-то" :)))))
← →
Riply © (2007-06-14 03:46) [2]>[1] Petr V.Abramov (14.06.07 03:40)
>"вот оно, просветленье-то" :)))))
Оно родимое :) Да уж больно дорогое :) Как бы исхитриться и просветлеть подешевле ? :)
← →
Petr V.Abramov (2007-06-14 03:48) [3]> Как бы исхитриться и просветлеть подешевле ? :)
в мышеловку :))))
← →
Германн © (2007-06-14 04:56) [4]
> Riply © (14.06.07 03:17)
>
> Всего в одном месте большого проекта написала: FillChar(ByteArr,
> Length(ByteArr), 0);
> где ByteArr: array of Byte;
Не было опыта работы со строками в Паскале. Не унывай. Бывало и хуже! :)
← →
Anatoly Podgoretsky © (2007-06-14 09:00) [5]Когда компьютеры были большие, а память маленькая, то куда еще не шло, но в наше время НЕТ надо забыть про эти низкоуровневые процедуры, а то действительно станешь или Цезарем или Наполеоном.
← →
icWasya © (2007-06-14 09:48) [6]>[5]
>а то действительно станешь или Цезарем или Наполеоном.
В палате №6.
← →
Хмм (2007-06-14 09:53) [7]А где тут ошибка? =)
← →
Dimka Maslov © (2007-06-14 09:58) [8]Вот поэтому, пока я не переквалифицировался в вольные фотографы, я никогда не пользовался стандартными динамическими массивами, а выделял под память средствами выньапи.
← →
Loginov Dmitry © (2007-06-14 10:35) [9]> Зато, сейчас, три с половиной часа ловила совсем нерегулярный
> AV, в совершенно другом месте проекта.
Хуже, когда над проектом работает несколько человек, и один где-то что-то поменял, не сообщив об этом другим членам команды. Например, раньше везде был тип String[20]. Затем в DLL-ке, используемой несколькими проектами, его изменили на String[40]. В результате AV вылетала при TQuery.ExecSQL в коде, находящемся в совершенно независимой от упомянутой библиотеки DLL-ке. Всей командой ошибку ловили 2 дня - она также носила ОЧЕНЬ нерегулярный характер, и в некоторых случаях приводила даже к неправильной прорисовке контролов :)
← →
Vendict © (2007-06-14 15:22) [10]Хмм (14.06.07 9:53) [7]
FillChar в динамический массив вызывает AV либо ребут в win98. ))
← →
Kedge © (2007-06-14 15:42) [11]> [10] Vendict © (14.06.07 15:22)
>FillChar в динамический массив вызывает AV либо ребут в win98. ))
>Хмм (14.06.07 9:53) [7]
Не помню, как под win98, но, IMHO, в любой версии FillChar(ByteArr, Length(ByteArr), 0);
начинает чистить память отнюдь не с ByteArr[0] :)
← →
Германн © (2007-06-14 15:46) [12]
> Vendict © (14.06.07 15:22) [10]
>
> Хмм (14.06.07 9:53) [7]
> FillChar в динамический массив
А динамический массив тут как бы и не виноват вовсе. :)
← →
Vendict © (2007-06-14 15:47) [13]Kedge © (14.06.07 15:42) [11]
просто это приводит к AV. а если подобное сделать в паскале под 98й, то потом любая операция ввода-вывода приводит к ребуту.
← →
Kedge © (2007-06-14 15:50) [14]> [13] Vendict © (14.06.07 15:47)
> Kedge © (14.06.07 15:42) [11]
> просто это приводит к AV.
Может и не приводить. Смотря что там чистится :) А может проявиться и через час,
когда произойдет обращение к этой памяти
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.064 c