Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Форма работает в режиме ViewRecord. Как сделать чтобы при её закрытии броуз не обновлялся? Без танцев с бубном. С11, ABC.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Какое-то из двух утверждений - ложно. Либо Form работает не ViewRecord, либо Browse не обновляется.
Потому, что обновление Browse выполняется при возврате флага GlobalResponse = RequestCompleted,
а в режиме GlobalRequest = ViewRecord, Form этого не делает ... ну или надо проверять все эти флаги.
Потому, что обновление Browse выполняется при возврате флага GlobalResponse = RequestCompleted,
а в режиме GlobalRequest = ViewRecord, Form этого не делает ... ну или надо проверять все эти флаги.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Это ложное утверждение. С чего Вы это взяли?Игорь Столяров писал(а): ↑06 Апрель 2021, 10:45 Потому, что обновление Browse выполняется при возврате флага GlobalResponse = RequestCompleted,
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Из того, что метод вызова FORM (ThisWindow.Run) возвращает именно полученную из Form значение GlobalResponse.
Я уточню: мы сейчас говорим об обновлении BROWSE после отработки FORM в том или ином режиме.
Потому, что BROWSE может ещё обновляться, например, при возврате фокуса в окно или изменении флагов RESET FIELDS.
У Вас в Window опция AUTO DISPLAY случайно не включена ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Browse обновляется всегда. Независимо от значения GlobalResponse. Почему сомнения? И почему должно быть по-другому? Просто я думал есть некий параметр, который может это поведение изменить. AUTO DISPLAY выключен. По-моему эту опцию надо убрать или хотя бы объявить "deprecated".
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Возможно мы говорим об одном, но смотрим на разное. Я не знаю поведения шаблонов при работе с SQL драйвером.
Список при выходе из FORM без изменений или режима просмотр не обновляется по банальной причине: в этом нет смысла.
При закрытии FORM всегда выполняется метод ThisWindow.Reset(), возможно он что-то у Вас тянет за собой.
Проверьте на не замученном нарзаном коде примера Invoice. Отсутствие обновления списка даже визуально видно ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Вы на одном пользователе не заметите. Поставьте стоп в метод ResetQueue и увидите. Я бы не задавал вопрос.
В многопользовательской среде обновление актуально всегда. Ну может быть не всегда. Вот у меня тот случай, что не надо обновления.
В многопользовательской среде обновление актуально всегда. Ну может быть не всегда. Вот у меня тот случай, что не надо обновления.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Результат предсказуем и ежу понятен. Но сделал как Вы сказали.
При открытии списка: 1
Обновление списка: 1
Resize Window: 2
После добавления или изменения записи (FORM): 2
Удаление записи (без FORM): 1
После просмотра записи (FORM) - не вызывается.
Как-то так ... Я повторюсь - обновление списка видно визуально.
Но у меня список открывается в нормальном режиме Loading Method = Page и драйвер TPS.
И ещё: у меня при открытии FORM в режиме просмотра кнопка ?OK скрывается, а ?Cancel переименовывается в "Закрыть".
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Ладно. Проведу тест. У меня тоже всё стандартно. Может в "Loading Method" причина? Я "Page" не использую. Даже интересно стало! Как так?
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Протестировал и у себя и на стандартных примерах. ResetQueue срабатывает всегда. Независимо от драйвера, способа загрузки...
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
А вот это пробовали ? Попробуйте выходить из FORM через кнопку ?CANCEL.Игорь Столяров писал(а): ↑08 Апрель 2021, 5:43 у меня при открытии FORM в режиме просмотра кнопка ?OK скрывается, а ?Cancel переименовывается в "Закрыть".
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Я так и делаю.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Других идей современная наука не предлагает.
При выходе из FORM с отменой нет события для обновления BROWSE - т.к. в этом действии нет смысла.
При закрытии окна FORM фокус переходит к окну BROWSE, других событий нет.
Если у Вас нет какого-то действия на это событие - то мы имеем дело с чудом. А чудес не бывает.
При выходе из FORM с отменой нет события для обновления BROWSE - т.к. в этом действии нет смысла.
При закрытии окна FORM фокус переходит к окну BROWSE, других событий нет.
Если у Вас нет какого-то действия на это событие - то мы имеем дело с чудом. А чудес не бывает.
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Классы, шаблоны в этом направлении я вроде не правил. Остаюсь при своём мнении. При работе в многопользовательском режиме броуз должен обновляться по любому. Иначе как увидеть изменения?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7379
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Browse-Form, ABC. Не обновлять Browse после закрытия Form.
Пойдём логическим путём.
Если Ваше утверждение верно - то BROWSE должен обновляться ведь не только при открытии FORM ?
Иначе получается, что мы не увидим "изменения через сеть" пока не дёрнем FORM. Печаль !
Вообще для этих целей существует TIMER, который может генерить события через заданный интервал
и по этому событию можно уже обновлять BROWSE на предмет изменений через сеть и т.д.
Что касается многопользовательской работы - то вопрос ведь только в доступе к файлам БД.
Я даже не пытаюсь угадывать, что у Вас там с классами и шаблонами.
Но Вы написали, что у Вас обновление BROWSE происходит на штатных примерах - и вот это непонятно.
Последний раз редактировалось Игорь Столяров 14 Апрель 2021, 11:18, всего редактировалось 1 раз.
За теми кто отстал - не возвращаться. (С) Кодекс