Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов через invoke, хелпъ 
:(
    Опции темы
Alone
Дата 27.8.2004, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



Ребята, хоть я и начинающий smile.gif но позвольте возразить. Тут вы не правы wink.gif
Когда происходит вызов аутн, то первичные операции с сетью
происходят внутри функции аутн(){
conn.connect();
conn.send();
authuser(); которая в свою очередь производит считывание данных с сокета, и если пришло "Ок", то вызывает begin();
}

Цитата
Происходит из Эвент кью.
То есть у тебя при вызове аутн юзер ожидается завершения этой процидуры (то есть считывание данных)
Это значит что ДО того как считается - ничего прорисовыватся не будет.

Естественно. Но считывание то как раз здесь и заканчивается и в метод begin мы попадаем только после отсылки авторизации и получения ответа от сервера.
На этом операции с сетью прекращаются.
Потом я пытаюсь убрать с экрана объект аутн
и продолжать операции с сетью. (подгрузка остальных данных...)


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
DarkDS
Дата 27.8.2004, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Объясняю по порядку.
Насколько я понимаю, onOk() вызывается при нажатии на кнопку (то есть из эвент листенера) и вызывается не через Инвок Лайтер.
Значит до завершения этого метода весь Эвент Кью становится колом.
Далее. Из онОк мы вызываем AuthUser(loginFld.getText(), passwdFld.getPassword().toString() );
То есть для завершения онОк мы ждем чтобы выполнилось AuthUser.
В AuthUser есть такой участвок:
Код

if (checkAuth()){
   resetAuthData();
   mainObj.begin();
}

Значит при удачной ауторизации мы ждем когда закончится работа mainObj.begin();
Далее:
Код

public void begin(){
      auth.setEnabled(false);
      auth.setVisible(false);
      jLabel1.setVisible(false); <-- Вот тут мы посылаем месседж в евент кью о том, что нужно перересовать элемент (Хинт - Эвент Кью ожидает когда мы закончим этот метод)

      thred.start();
     
      pingThread.start();
     
      String req;
      req="GETCONFIG=1";
      conn.SendTpkt(req);
     
      synchronized(configLock){ <-- Вот тут мы ожидаем когда считается данные конфига. Значит мы [b]не выйдем отсюда[/b] пока не считаем конфиг.
          try{
              System.out.println("getConfig has blocked");
              configLock.wait();
          }catch (InterruptedException e){
             
          }
      }
      System.out.println("getConfig has unblocked");
     
      req="GETABOOK=1";
      dwnPanel.setStatus("Загрузка данных...");
      conn.SendTpkt(req);
      synchronized(abookLock){ <-- Вот тут мы ожидаем когда считается данные abook. Значит мы [b]не выйдем отсюда[/b] пока не считаем abook.
          try{
              System.out.println("abook has blocked");
              abookLock.wait();
          }catch (InterruptedException e){
          }
      }
      System.out.println("abook has unblocked");

      /* прорисовка остальных форм*/
}

То есть у тебя ничего не будет прорисованно до тех пор, пока все не считается...
Вопросы есть? smile.gif
PM MAIL   Вверх
Alone
Дата 27.8.2004, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 3
Всего: 6



Блин... И крыть нечем...
тогда нужна архитектурная переработка.
Хорошо, ребята, Пасиб за помощь... Думаю топик мона закрывать.


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.