![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Странное какое-то AV [D4, 2000]
Германн © (2009-09-02 01:27:00)Получил ошибку
Access violation at address 004715F6 in module 'ХХХХ.exe'. Read of address F4C48400.
А Eureka указывает на строку
IRect:=Rect(X,Y,X+IImage.Picture.Width,Y+IImage.Picture.Height);
((((
Германн (2009-09-03 01:39:00) [1]
> Kolan © (03.09.09 01:35) [14]
>
> На четвертом пункте некоторые живут.
>
Я таких не знаю.
Kolan (2009-09-03 01:35:00) [2]На четвертом пункте некоторые живут.
Германн (2009-09-03 01:14:00) [3]Кстати.
Из этой истории я извлёк 4 вывода.
1. Банальный до глупости (Парадокс не пинает только тот, кто вообще не знает о его существовании). Поэтому я его не озвучиваю.
2. Просто банальный. Если есть функция возвращающая в результате "степень успешности" своего выполнения, то всегда стоит (и очень стоит) этот результат проверять. Даже если кажется, что в некоем случае результат очевиден. Даже если эту функцию написал сам и всё про неё знаешь.
3. Не очень банальный. Не стоит встраивать в программу возможности, которые не просят потенциальные потребители. Рано или поздно найдётся дурак, который этими возможностями воспользуется!
4. Единственный приятный. Если всё-таки первые три нарушены, то есть вероятность, что тебя пригласят приехать исправить возникшую неисправность. Заплатят за вызов и возможно даже устроят "маленькое чаепитие за успех безнадёжного дела".
:)
Омлет (2009-09-02 22:32:00) [4]iPod, iPhone, iRect, iImage ))
Германн (2009-09-02 22:28:00) [5]
> clickmaker © (02.09.09 12:50) [10]
>
> да, кстати, почему IRect, IImage?
А фиг его знает
Давно это было. :(
clickmaker (2009-09-02 12:50:00) [6]да, кстати, почему IRect, IImage? Internal? Interesting? )
Kolan (2009-09-02 12:48:00) [7]IImage — это интерфейс?
Может сработало автоудаление?
Германн (2009-09-02 02:38:00) [8]
> Германн © (02.09.09 02:03) [4]
Ну и да.
Мне для проверки,оказывается, выслали БД 5-ти летней давности.
Нет слов.
Германн (2009-09-02 02:34:00) [9]
> KilkennyCat © (02.09.09 02:28) [6]
>
> Это уже мелочи. есть, но нет - неважно. Я в большинстве
> случаев рассматриваю нил как отсутствие.
"Как отсутствие" можно рассматривать все сообщения об AV.
А вот нил или нет явно видно.
KilkennyCat (2009-09-02 02:28:00) [10]Это уже мелочи. есть, но нет - неважно. Я в большинстве случаев рассматриваю нил как отсутствие. но - фиг с ним, все равно, из сообщения об ошибки кроме кучки цифр ничего не видно. А если б было видно, то отладчиками не пользовались бы.
Германн (2009-09-02 02:06:00) [11]
> KilkennyCat © (02.09.09 01:58) [3]
>
>
> > вряд ли что-то равно nil (судя по тексту сообщения об
> ошибке)
>
> Почему? Там совершенно ничего не указывает на то, что имаге
> не существует.
>
"Не существует" не тождественно "равно nil".
Вспомни многочисленные обсуждения а-ля FreeAndNil.
Германн (2009-09-02 02:03:00) [12]Даже предполагая, что Эврика врёт (хоть частично), всё равно область кода, где происходит данная ошибка мне известна. Но не могу в этой области ничего найти.
P.S. И всё это творится в одном из самых главных госучреждений в Москве! Да и в России.
P.P.S. Ну да. Для себя любимых они денег не жалеют. А вот на вспомогательные службы им плевать! Даже если вспомогательные службы - это их система охраны!
Я иду лесом! :)))
KilkennyCat (2009-09-02 01:58:00) [13]
> вряд ли что-то равно nil (судя по тексту сообщения об ошибке)
Почему? Там совершенно ничего не указывает на то, что имаге не существует.
Германн (2009-09-02 01:40:00) [14]
> Юрий Зотов © (02.09.09 01:34) [1]
>
> Не понял - а что тут странного?
>
> Ставим брейк на предыдущей (для надежности) строке и выясняем,
> что же там равно nil. Видимо, или IImage, или IImage.Picture.
>
>
Не могу. У меня на компьютере нет ошибки.
Да, если Эврика не врёт, то что-то неладно с IImage, или с IImage.Picture. Но не могу сообразить что может быть неладно. (((
Кстати вряд ли что-то равно nil (судя по тексту сообщения об ошибке).
Юрий Зотов (2009-09-02 01:34:00) [15]Не понял - а что тут странного?
Ставим брейк на предыдущей (для надежности) строке и выясняем, что же там равно nil. Видимо, или IImage, или IImage.Picture.