Сценарий: у меня есть приложение Delphi Intraweb, в котором есть некоторые компоненты редактирования и кнопки на экране. В TIWEdit.OnAsyncExit и TIWButton.OnClick установлен флаг, а другой поток в приложении устанавливает включенные свойства кнопок в зависимости от флагов и некоторых других данных приложения.
К моменту установки свойств TIWButton.Enabled запрос уже завершен, и следующее взаимодействие отменяется, поскольку IW обнаруживает, что внутреннее представление и HTML-форма не синхронизированы. Он повторно синхронизируется, и вам нужно щелкнуть еще раз.
Хотелось бы как-нибудь обновить экран по запросу.
- Таймер, который определяет, синхронизированы ли они и выдает обновление, имеет недостатки в трафике и времени (я могу нажать кнопку перед запуском таймера).
- Метод, который мог бы передавать данные, был бы отличным.
- Возможно, у IW есть возможность выполнить синхронизацию без сохранения без отмены действия, которое я только что совершил.
Поскольку мои экраны построены на основе модели (я не могу предсказать, какие компоненты будут на экране и каковы взаимозависимости между компонентами, то есть в бизнес-логике), я не могу добавить JavaScript для включения или отключения кнопки в зависимости от действий пользователя.