Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Форма работает в режиме ViewRecord. Как сделать чтобы при её закрытии броуз не обновлялся? Без танцев с бубном. С11, ABC.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

Какое-то из двух утверждений - ложно. ;) Либо Form работает не ViewRecord, либо Browse не обновляется.

Потому, что обновление Browse выполняется при возврате флага GlobalResponse = RequestCompleted,
а в режиме GlobalRequest = ViewRecord, Form этого не делает ... ну или надо проверять все эти флаги.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Игорь Столяров писал(а): 06 Апрель 2021, 10:45 Потому, что обновление Browse выполняется при возврате флага GlobalResponse = RequestCompleted,
Это ложное утверждение. С чего Вы это взяли?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

kreator писал(а): 07 Апрель 2021, 17:43 С чего Вы это взяли?
Из того, что метод вызова FORM (ThisWindow.Run) возвращает именно полученную из Form значение GlobalResponse.
Я уточню: мы сейчас говорим об обновлении BROWSE после отработки FORM в том или ином режиме.
Потому, что BROWSE может ещё обновляться, например, при возврате фокуса в окно или изменении флагов RESET FIELDS.
У Вас в Window опция AUTO DISPLAY случайно не включена ?
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Browse обновляется всегда. Независимо от значения GlobalResponse. Почему сомнения? И почему должно быть по-другому? Просто я думал есть некий параметр, который может это поведение изменить. AUTO DISPLAY выключен. По-моему эту опцию надо убрать или хотя бы объявить "deprecated".
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

kreator писал(а): 07 Апрель 2021, 18:43 Просто я думал есть некий параметр, который может это поведение изменить.
Возможно мы говорим об одном, но смотрим на разное. Я не знаю поведения шаблонов при работе с SQL драйвером.
Список при выходе из FORM без изменений или режима просмотр не обновляется по банальной причине: в этом нет смысла.

При закрытии FORM всегда выполняется метод ThisWindow.Reset(), возможно он что-то у Вас тянет за собой.
Проверьте на не замученном нарзаном коде примера Invoice. Отсутствие обновления списка даже визуально видно ...
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Вы на одном пользователе не заметите. Поставьте стоп в метод ResetQueue и увидите. Я бы не задавал вопрос.
В многопользовательской среде обновление актуально всегда. Ну может быть не всегда. Вот у меня тот случай, что не надо обновления.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

kreator писал(а): 08 Апрель 2021, 0:18 Поставьте стоп в метод ResetQueue и увидите.
Результат предсказуем и ежу понятен. :) Но сделал как Вы сказали.

1.jpg
1.jpg (98.28 КБ) 2460 просмотров

При открытии списка: 1
Обновление списка: 1
Resize Window: 2
После добавления или изменения записи (FORM): 2
Удаление записи (без FORM): 1
После просмотра записи (FORM) - не вызывается.

Как-то так ... ;) Я повторюсь - обновление списка видно визуально.
Но у меня список открывается в нормальном режиме Loading Method = Page и драйвер TPS.
И ещё: у меня при открытии FORM в режиме просмотра кнопка ?OK скрывается, а ?Cancel переименовывается в "Закрыть".
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Ладно. Проведу тест. У меня тоже всё стандартно. Может в "Loading Method" причина? Я "Page" не использую. Даже интересно стало! Как так?
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Протестировал и у себя и на стандартных примерах. ResetQueue срабатывает всегда. Независимо от драйвера, способа загрузки...
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

Игорь Столяров писал(а): 08 Апрель 2021, 5:43 у меня при открытии FORM в режиме просмотра кнопка ?OK скрывается, а ?Cancel переименовывается в "Закрыть".
А вот это пробовали ? Попробуйте выходить из FORM через кнопку ?CANCEL.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Я так и делаю.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

Других идей современная наука не предлагает.
При выходе из FORM с отменой нет события для обновления BROWSE - т.к. в этом действии нет смысла.
При закрытии окна FORM фокус переходит к окну BROWSE, других событий нет.
Если у Вас нет какого-то действия на это событие - то мы имеем дело с чудом. А чудес не бывает. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение kreator »

Классы, шаблоны в этом направлении я вроде не правил. Остаюсь при своём мнении. При работе в многопользовательском режиме броуз должен обновляться по любому. Иначе как увидеть изменения?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Browse-Form, ABC. Не обновлять Browse после закрытия Form.

Сообщение Игорь Столяров »

kreator писал(а): 14 Апрель 2021, 9:37 Иначе как увидеть изменения.
Пойдём логическим путём.
Если Ваше утверждение верно - то BROWSE должен обновляться ведь не только при открытии FORM ?
Иначе получается, что мы не увидим "изменения через сеть" пока не дёрнем FORM. Печаль ! ;)

Вообще для этих целей существует TIMER, который может генерить события через заданный интервал
и по этому событию можно уже обновлять BROWSE на предмет изменений через сеть и т.д.

Что касается многопользовательской работы - то вопрос ведь только в доступе к файлам БД.
Я даже не пытаюсь угадывать, что у Вас там с классами и шаблонами.
Но Вы написали, что у Вас обновление BROWSE происходит на штатных примерах - и вот это непонятно. :(
Последний раз редактировалось Игорь Столяров 14 Апрель 2021, 11:18, всего редактировалось 1 раз.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить