Ошибка при работе с MDI окнами

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте еще раз...

Посоветуйте.
Есть приложение(фрейм), у MDI окон есть возможность иконизации,если открыто только одно MDI окно, могу сворачивать и разворачивать его сколько угодно, открываю еще одно окно пытаюсь его свернуть и........

("Ошибка приложения" Инструкция по адресу 0х004а4731 обратилась к памяти по адресу 0х72724520 память не может быть "read").

Проблема возникает в Win2000(Server)SP3, в Win98 все в порядке, XP не пробовал.

Пользую C5.5F (Legacy)

P.S. Пробовал отловить дебагером, так и не понял что к чему, слышал можно что то в реестре подправить??? Кстати при уменьшении стека для потока, работает постабильнее но все равно вылетает...

Потестировал под XP+sp1, и такая картина=>

Вылетает на браузах, которые ограничиваю по очереди(шаблоны Синявского-рутинка"constructfilter"), очередь формируется процессом из промежуточного файла, который в свою очередь ограничен глобальной переменной-назначается при выборе из droplistbox'a, который грузиться со справочника(т.е. из еще одной очереди).
Так уж реализовал выборку Many to Many:smirk:

Так вот если сворачиваю оба окна не выбрав ничего. т.е. бровзы пустые,то.......
"Ошибка открытия файла...."(файл первичный-по нему почти весь брауз),
если браузы не пусты, то сворачивай - разворачивай скоко хошь, все нормально.

Кстати под Win2000, не имеет значения отфильтровал я чего или нет, вылетает и так и сяк, под 98 наоборот все нормально в любых положениях.

Вдогонку:
Файл - папа связан с несколькими справочниками 1 to many.

Чего делать, хоть минимизацию убирай, а юзеры то привыкли:cry2:
Буржуям писал, те пример просят, мол переконвертим в C6.0 и посмотрим как там работает, но мне то от этого не легче....
Гость

Сообщение Гость »

Кто нибудь чево нибудь подскажет?
Гость

Сообщение Гость »

Своевременный вопрос! У меня было похожее в проге, которая в цикле создавала,перемещала,копировала файлы,выбираемые по некоторым условиям. Под WIN98 все работало нормально,под 2К и ХР начались подобные твоим глюки.Причину и нормальное решение я так и не нашел.Выкрутился тем, что стал обрабатывать файлы по одному в рабочей директории-вроде все заработало, но это не есть правильно.По-моему, причина в изначальной глючности аппарата кеширования в NT-подобных системах.
Гость

Сообщение Гость »

Вроде выкрутился но как говориться через "одно место".
Причина была в том, что на GainFocus'e я фильтровал и обновлял броуз вот так:

do BRW2::ConstructFilter
forcerefresh=true
do brw2::selectsort

.....вылетало

а вот так вроде все нормально:

do BRW2::ConstructFilter
FREE(Queue:Browse)
forcerefresh=true
cycle
do brw2::selectsort

P.S. В упор не пойму почему надо рвать ACCEPT-цикл, чтоб все работало???
Ответить