• 0
OnePeople

TetheringManager

Вопросы

 

Отправляю список файлов по WiFi, программа стопориться до конца отправки, как этого избежать?(

if AResource.Hint='GetPlayList' then
   begin
      try
      for p := 0 to TetheringManager1.RemoteProfiles.Count-1 do
      TetheringAppProfile1.SendString(TetheringManager1.RemoteProfiles[p],'MusicClear','1');
      except
      end;

   for i := 0 to PlayList.Items.Count-1 do
      begin
        try
        for p := 0 to TetheringManager1.RemoteProfiles.Count-1 do
        TetheringAppProfile1.SendString(TetheringManager1.RemoteProfiles[p],'AddMusic',IntToStr(i)+'.'+PlayList.Items.Strings[i]);
        except

        end;
      end;


   end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 ответа на этот вопрос

  • 0

Попробуй реализовать отправку внутри нового потока

Нет ну это само сабой, просто я думал может есть какой нибудь ключ, для отправки вне основного потока. Почему для таких компонентов сразу так не делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

 Почему для таких компонентов сразу так не делать?

 

Потому что вам нужно асинхронное поведение. Его вы можете достаточно просто реализовать, используя другой поток.

Мне нужно синхронное, какое есть сейчас. Если компонент изначально будет асинхронен, то переделать его на синхронный режим работы гораздо сложнее, не?

 

Ну, а основная причина, я думаю, в том, что Tethering использует внутри себя Indy (если я ничего не путаю).

Изменено пользователем kami

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

 

Отправляю список файлов по WiFi, программа стопориться до конца отправки, как этого избежать?(

Вы используете два вложенных цикла с непредсказуемым временем выполнения - этим и замораживаете приложение. Попробуйте к примеру Application.ProcessMessages внутри циклов. И TetheringAppProfile1 отправляет в отдельном потоке, он здесь не при чём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу