Всем привет!
Описание: Я делаю многопользовательскую БД на основе клиент - сервер и столкнулся с одной проблемой которую не могу побороть уже 2 дня...
Сама проблема: Имеется дочерняя форма (Ex, OnlyOnce) и имеется клиент - сервер, при открытии дочерней формы посылается запрос серверу (дочерняя форма после отправки запроса не должна закрываться) после сервер принимает запрос и посылает определённую информацию клиенту, клиент после принятия информации направляет её открытой дочерней форме для дальнейшей обработки этой информации не посредственно в ней но после получения данных дочерняя форма начинает (как я понял) перезапускаться тем самым получаем замкнуты круг...
Вопрос: Почему так происходит и как можно это побороть?
Пример:
code_16810.txt
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
|
|||
карма: 1 |
| ||
файлы: 1 | code_16810.txt [2.8KB] [104] |
Ответов: 4641
Рейтинг: 334
|
|||
CriDos писал(а): Почему так происходит и как можно это побороть?наверно из за OnlyOnce - создание копии схемы при вызове любого метода и уничтожение её при завершении работы этого метода если вчитаться в смысл слов, то я предполагаю....что при окончании выполнение метода doShowModal, дочерняя форма просто уничтожается. |
|||
карма: 1 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Ravilr писал(а): при окончании выполнение метода doShowModal, дочерняя форма просто уничтожается.нет, она не уничтожается и не перезапускается (ток что провёл небольшой эксперимент). Эксперимент №1:
Эксперимент №2:
|
|||
карма: 1 |
|
Ответов: 4641
Рейтинг: 334
|
|||
карма: 1 |
| ||
файлы: 1 | code_16812.txt [497B] [74] | ||
Голосовали: | CriDos |
Ответов: 1841
Рейтинг: 369
|
|||
Ты оказался прав...
------------ Дoбавленo в 21.53: Нашёл решение этой проблемы! Всё оказалось оч просто... Нужно было запрос отправлять не после вызова модальной формы (от события onCreate) а ДО вызова модальной формы... Пример (Может кому нибудь пригодится):
|
|||
карма: 1 |
|
Ответов: 3349
Рейтинг: 233
|
|||
карма: 1 |
| ||
файлы: 1 | code_16823.txt [3.3KB] [108] |
Ответов: 1841
Рейтинг: 369
|
|||
хм, вот нашёл ещё одну проблему которую не могу побороть...
Пример проблемы:
Собственно вопрос: Почему дочерняя форма после вызова не хочет закрываться не после нажатия на системный крестик не через точку doClose? |
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Смотри объяснить смогу, а решить пробую:
Ты отправляешь сигнал Get при нажатии "Закрыть" в последней форме, в разных прогах будет все ок, но здесь отправление происходит в одном потоке, а примем в другом => пока не завершится поток с хабом(который вызывает закрытие формы после отправки сигнала) не будет принято сообщение у сервера, а так как форма модальная, главный поток стопорится и не происходит закрытия(так как сигнал у сервера не принят), пока не завершится поток в котором модальная форма ------------ Дoбавленo в 13.42: Если не шибко важна модальность, то убери ее и все заработает |
|||
карма: 10 |
| ||
Голосовали: | CriDos |
Ответов: 1841
Рейтинг: 369
|
|||
Assasin, понятно
|
|||
карма: 1 |
| ||
файлы: 1 | code_16828.txt [1.4KB] [131] |
9