FWait: IPleaseWaitService;
...
FWait.StartWait;
try
//повесли на некоторое время главный поток
...
finally
FWait.StopWait;
end
Из за того что IOS не успевает что то сделать, но непойму что именно, но если мы выполним процедуру StartWait и выйдем из процедуру, а остальной код выполним в таймере, то все отработает так как надо.
В исходникак я посмотрел, и не увидел что там можно поменять:
procedure TioSPleaseWait.StartWait;
var
lView: UIView;
begin
AtomicIncrement(FCount);
if FCount = 1 then
begin
lView := ActiveView;
FView := TUIActivityIndicatorView.Create;
FView.setCenter(lView.center);
FView.setActivityIndicatorViewStyle(UIActivityIndicatorViewStyleGray);
lView.addSubview(FView);
SharedApplication.setNetworkActivityIndicatorVisible(True);
FView.startAnimating;
end;
end;
Т.е по факту мне надо добавить что то, что смогло бы обновить и отобразить вновь созданный UIView. Мне это нужно чтобы при выполнении сложной процедура которая подвешивает главный поток отображался индикатор. Я проверил, если создать и отобразить индикатор заранее то он нормально отображается, т.е. не подвисает когда когда зависает главный поток.
Вопрос
FeLDMARShaL
Стал использовать набор компонентов которые описаны вот тут: http://blogs.embarcadero.com/dclegg/2013/04/30/127
Проблема в том что блок не работает:
Из за того что IOS не успевает что то сделать, но непойму что именно, но если мы выполним процедуру StartWait и выйдем из процедуру, а остальной код выполним в таймере, то все отработает так как надо.
В исходникак я посмотрел, и не увидел что там можно поменять:
Т.е по факту мне надо добавить что то, что смогло бы обновить и отобразить вновь созданный UIView. Мне это нужно чтобы при выполнении сложной процедура которая подвешивает главный поток отображался индикатор. Я проверил, если создать и отобразить индикатор заранее то он нормально отображается, т.е. не подвисает когда когда зависает главный поток.
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.