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

Вниз

EInvalidPointer?   Найти похожие ветки 

 
ZHK   (2003-08-26 13:22) [0]

Спрошу еще раз. Видно модератора типает от слова "задница", поэтому вопрос мой, судя по всему, удалили. Тама такая: создал приложение. Кинул на форму TIDTelnet и TTrayNotifyIcon. TTrayNotifyIcon компонент не стандартный делфийский, но код я просмотрел, вроде без ошибок. Программа никаких объектов сама не удаляет, поэтому, по идее, обращений к несуществующим объектам не должно быть. Память динамически не выделяю и т.д. В общем, просто соединяюсь с сервером, качаю данные и закрываюсь. Все. И все нормально пока программа не начинает закрываться. Тут то и беда. Винда говорит "неизвестное программное исключение", а делфи, в свою очередь, говорит "EInvalidPointer ... Invalid pointer operation". Оттрассировал - ошибка возникает в TTrayNotifyIcon.Destroy в строчке FIcon.Free. При этом Assigned(FIcon)=True, это я тоже проверял. CloseHandle(FIcon.Handle), вместо FIcon.Free приводит к тому, что ошибка перемещается на строчку end; TTrayNotifyIcon.Destroy. Вот так. Кто поможет?


 
Miralex   (2003-08-26 13:29) [1]

я не спец но могет тебе надо не Destroy а Free писать! у самого было чтото типа такого давненько!


 
Skier   (2003-08-26 13:30) [2]

Действительно "не спец" :)


 
han_malign   (2003-08-26 13:43) [3]

>Assigned(FIcon)=True
- говорит только о том, что DWORD(FIcon)<>0, но не о том, что это валидный указатель, который был создан и еще не отпущен... А EInvalidPointer возникает, чаще всего, когда происходит обращение, по старому указателю, к области памяти которая уже "отпущена"(а вот TIcon( nil).Free - как раз пройдет на ура).


 
Anatoly Podgoretsky   (2003-08-26 16:06) [4]

Можешь не гадать, ошибка в программе, вполне вероятно в TTrayNotifyIcon, FIcon не действительный. Теперь трассируй компонент и свою программу. Желательно поставить точнки останова во всех местах где изменяется FIcon


 
ZHK   (2003-08-27 07:59) [5]

То-то и оно, что FIcon изменяется один раз на стадии создания проекта. Больше я его не трогаю. Вообще я этот модуль ранее применял, пока работало. В принципе не я его писал, но, всеж, явных ошибок не обнаружил. У меня закрадывается подозрение, что все-таки надо сказать "Спасибо, Билли", ибо ошибка закрадывается на стадии формирования сообщений. Может просто парни использовали что-то не то, с этим я не разбирался. А вообще, после удаления модуля из программы, все стало гораздо лучше. У меня правда есть еще чуть претензии к Indy, ибо если программа выполняется в отладчика, то возникает "Socket error", а без делфи - все нормально. Хотя это возможно просто конфликт только с отладчиком.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-24504
Lina
2003-08-27 09:43
2003.09.08
Регистрация


6-24585
MGA
2003-05-05 18:37
2003.09.08
Контроль печати сетевого принтера - КАК ?


3-24313
Buka
2003-08-14 22:52
2003.09.08
Locate в ADO? Работает ли?


6-24578
SKI
2003-07-04 20:18
2003.09.08
Сетевой трафик


14-24664
Kost
2003-08-20 15:04
2003.09.08
TextOut





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский