![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Сообщение о ошибке с текстом Invalid pointer operation выскакивает после выполнения программы. Программа делает медианную фильтрацию- устраняет шум изображений, размер каретки устанавливаю я (нюанс метода фильтрации), при этом использую динамические массивы, до этого каретка в фильтрации была 3х3 и массивы были статические ошибки не было. Прошу подсказать почему выскакивает ошибка.
Вот полностью главный юнит http://depositfiles.com/files/ivq005c7g http://4ppl.ru/162538 Вот сама программа http://4ppl.ru/162539 Ниже код процедуры самой фильтрации Код:
lmikle: пользуем правильные теги!!! Понимаю что чужой код смотреть ни кому не горит желанием. Но буду рад любой помощи или совету. Заранее спасибо Спасибо Imikle за правку и совет. Последний раз редактировалось pazitiff, 22.01.2010 в 10:23. |
#2
|
|||
|
|||
![]() Ну, в этом коде я криминала не вижу.
Попробуй для чистоты эксперимента в конце процедуры обнулить массивы через SteLength(array,0,0). Вообще, такая ошибка характерна для ситуации, когда компонент пытается удалить уже удаленный объект. Посмотри, может ты где-то удаляешь какой-либо объект, созданный "руками" и с присвоенными Parent и/или Owner. |
#3
|
||||
|
||||
![]() Я бы на твоем месте поставил бряк (break) для начала на любую строчку в процедуре, если ошибка есть и бряк не сработал, то передвитуть выше, если сработал, то трассировать его клавишей F7 пока не увидишь ошибку...Посмотри в какой строчке ошибка, это наведет на мысли...
PS это может быть долго если используется долгий цикл типа for i := 0 to 1000...но его же можно обойти... В начале был Бит, потом Байт и только потом появилось Слово... |
#4
|
||||
|
||||
![]() Обнуление массивов не помогло, а вот break точнее я пользовался goto мне подсказал что ошибка возникает после выполнения вот этих двух циклов:
Здесь ошибки не будет Код:
Код:
но почему я понять не могу ![]() |
#5
|
||||
|
||||
![]() помняй
Код:
|
#6
|
||||
|
||||
![]() использование goto в делфи считается нехорошим тоном (пережитки паскаля), и практикуется лишь в крайних случаях...
видимо у тебя что то в размерности массивов Код:
В начале был Бит, потом Байт и только потом появилось Слово... |
#7
|
|||
|
|||
![]() Спасибо. всем проблема решена. Она была и вправду в размерности массивов. Еще дальше такая же проблема была в сортировке пузырьком. P.S. насчет goto знаю но мне удобно было
![]() |