Ошибка закрытия окна MDI

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Stalker
Активист
Сообщения: 123
Зарегистрирован: 01 Декабрь 2005, 20:47
Откуда: Минск
Контактная информация:

Ошибка закрытия окна MDI

Сообщение Stalker » 14 Март 2010, 23:28

Здравствуйте, уважаемые Гуру!

Помогите решить седующую задачу.
С63 9053 объект FeBrowser (File Explorer Browser от CapeSoft (http://www.capesoft.com/).)
Суть проблеммы такова . Имеется окно Windows MDI , в нем имеется до 15 вкладок, на каждой открывается объект FeBrowser, в файле tps содержатся ссылки на различные страницы Интернет и отображаются в объектах FeBrowser . Что то типа Интернет броузера. Работает все нормально, загрузка, переходы и т.д.
Проблемма закрытия окна. При закрытии окна прога делает паузу на сек 5-10 и вылетает стандартное окно ошибки.

Обнаружена ошибка.Приложение будет закрыто Передайте Microsoft сведения об ошибке. Создан отчет и т.д.
Такое впечатление, что прога не успевает коректно убить открытые объекты.
Закрытие осуществляется по стандартной кнопке Close. Другие окна которые имеют 2-3 объекта закрываются коректно.
Пытался убивать по очереди с остановом, ничего не дало. Если , кто встречал подобное подскажите куда рулить.
Винда XP
C уважением, Stalker.
Специализация - программы для образования, делопроизводство, складской учет

Аватара пользователя
WadimZapara
Активист
Сообщения: 181
Зарегистрирован: 11 Июнь 2008, 11:11
Откуда: Тамбов

Re: Ошибка закрытия окна MDI

Сообщение WadimZapara » 16 Март 2010, 18:05

Похоже на то, что происходит обращение к УЖЕ НЕ СУЩЕСТВУЮЩЕЙ переменной. Типа после Dispose() или после иной операции возвращения памяти системе. Либо другой вариант - одновременный доступ из нескольких потоков (Thread) к одной и той же переменной.
Под отладчиком-то что говорит ? Не о такой попытке доступа к памяти?

Может надо сначала объекты поубивать? Типа они ещё не успели закрыться автоматом, а родительское для них твоё MDI-окно уже закрылось...
Компьютер имеет то преимущество перед мозгом, что им пользуются...

Stalker
Активист
Сообщения: 123
Зарегистрирован: 01 Декабрь 2005, 20:47
Откуда: Минск
Контактная информация:

Re: Ошибка закрытия окна MDI

Сообщение Stalker » 16 Март 2010, 23:31

Спасибо за подсказку , попробую поработать с отладчиком, а с переменными вполне реально, глобальных переменных много и используются давольно интенсивно во всех окнах.
В принципе попробую поочередно убивать объекты с остановкой Stop() после каждого убийственного
действия. Спасибо.
С уважением Stalker.
Специализация - программы для образования, делопроизводство, складской учет

Аватара пользователя
WadimZapara
Активист
Сообщения: 181
Зарегистрирован: 11 Июнь 2008, 11:11
Откуда: Тамбов

Re: Ошибка закрытия окна MDI

Сообщение WadimZapara » 23 Апрель 2010, 0:17

Stalker писал(а):В принципе попробую поочередно убивать объекты с остановкой Stop() после каждого убийственного действия
Самое интересное, что это может не помочь, так как пока ты висишь на СТОПЕ, вся критичная память успеет освободиться. Так вряд ли что найдёшь...
Для определения проблемы попробуй искусственно затормозить выход из процедур после закрытия окна циклом по таймеру на пол-секунды. ну типа:

Код: Выделить всё

  map
tormoz procedure
  end

tormoz procedure
t  long,auto
  code
   t = clock() + 500
   loop while clock() < t
     yield
   end
 return

! А ВО ВСЕХ КРИТИЧНЫХ МЕСТАХ - ПОСЛЕ CLOSE(WINDOW), НО ПЕРЕД RETURN
  close(window)
  tormoz()
  return
если перестанет валиться - убирай по одному эти вызовы и найдёшь место, а дальше - или доковыряться до причины, или оставить тормоз :roll:
Компьютер имеет то преимущество перед мозгом, что им пользуются...

Stalker
Активист
Сообщения: 123
Зарегистрирован: 01 Декабрь 2005, 20:47
Откуда: Минск
Контактная информация:

Re: Ошибка закрытия окна MDI

Сообщение Stalker » 25 Апрель 2010, 15:54

Здравствуйте , WadimZapara!
Cпасибо за помощь, попробую, еще спасибо за подсказку и код по формированию записей файла в виде дерева.

С уважением, Stalker.
Специализация - программы для образования, делопроизводство, складской учет

Stalker
Активист
Сообщения: 123
Зарегистрирован: 01 Декабрь 2005, 20:47
Откуда: Минск
Контактная информация:

Re: Ошибка закрытия окна MDI

Сообщение Stalker » 30 Апрель 2010, 16:17

Здравствуйте , WadimZapara!

Огромное Cпасибо за помощь, все получилось, даже видно реально , как по очереди убиваются созданные контролы.
Ошибка больше не вылетает.

С уважением, Stalker
Специализация - программы для образования, делопроизводство, складской учет

Аватара пользователя
WadimZapara
Активист
Сообщения: 181
Зарегистрирован: 11 Июнь 2008, 11:11
Откуда: Тамбов

Re: Ошибка закрытия окна MDI

Сообщение WadimZapara » 30 Апрель 2010, 23:55

Очень рад. Спасибо, что сообщил итог. :D
Компьютер имеет то преимущество перед мозгом, что им пользуются...

Ответить