Перейти к содержанию
Fire Monkey от А до Я

GASCHE

Пользователи
  • Постов

    215
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Весь контент GASCHE

  1. GASCHE

    Работа форума

    Не работает Непрочитанный контент, Компактно!
  2. Подставляете туда свой JSON и получаете готовый результат.
  3. Так всё для вас уже сделано, даже голову ломать не надо не надо ?
  4. Я на панель накладывал TRectangle и рисовал на последнем.
  5. Попробуйте Width и Heigh взять из координаты ARect события OnPainting, мне помогло. PROCEDURE pbGraphPainting( Sender : TObject; Canvas : TCanvas; const ARect : TRectF ); ... _rGraph.OnPainting := pbGraphPainting;
  6. Грузятся если заменить if (FListViewUpdating) or (AAsyncResult.IsCancelled) then на if (FListViewUpdating) or (AsyncResult.IsCancelled) then. AAsyncResult у меня NIL
  7. Дальше не дошли ?
  8. Сюда вместо Image2.Position.X, Image2.Position.Y подставлять преобразованные координаты Х, Y из
  9. Согласно этому получилось так Path3D1->Path->MoveTo(TPointF(0,0)); Path3D1->Path->LineTo(TPointF(0,0));
  10. Теорию можно посмотреть здесь. Там же есть ссылка на пример, правда на Python.
  11. Увы показалось что вернули дату изменения ?
  12. У меня совпадает с московским
  13. Придется смириться, другого кода тут ни вы ни кто другой не предложил.
  14. А так procedure TForm1.Timer1Timer(Sender: TObject); begin label1.text = query.fiеlds[0].asstring; [.... делаем что-то, где срок выполнения задачи может быть разным] IF NOT Query.Eof THEN Timer1.Enabled := False ELSE Query.next; END; не получается?
  15. У меня так procedure TForm1.Timer1Timer(Sender: TObject); VAR iJ : Integer; begin ProgressBar1.Value:=iI; Label1.Text := iI.ToString ; //Timer1.Enabled := False; Inc( iI ); //sleep(100); for iJ := 0 to 100000000 do LT := LT + 1; IF iI > 100 THEN Timer1.Enabled := False; end; не "встает" хоть sleep хоть FOR.
  16. А это что значит? Делает программа или пользователь что-то меняет?
  17. Верю, но думаю что таймер работает в отдельном потоке и по завершению заданного периода времени из него вызывается функция Timer1Timer, но не уверен что при этом происходит синхронизация с основным потоком,.
  18. Чтоб не "встало колом" можно так ? procedure TForm1.Timer1Timer(Sender: TObject); begin ProgressBar1.Value:=iI; Timer1.Enabled := False; Inc( iI ); sleep(100); IF iI <= 100 THEN Timer1.Enabled := True; end; Вместо sleep(100) можно выполнять любой код.
  19. Ну извините я не Кашпировский чтобы догадаться какой код нужно выполнять вместо sleep(100), и естественно на болванку я предложил такую же болванку. Как реально все это синхронизировать это дело автора вопроса если он захочет этим воспользоваться. У меня весь "sleep(100)" работает в потоке, проблем с синхронизацией нет. Предложите своё и, если оно будет проще непременно им воспользуюсь.
  20. А чем эта хуже application.ProcessMessages?
  21. procedure TForm1.Timer1Timer(Sender: TObject); begin ProgressBar1.Value:=I; IF I = 100 THEN Timer1.Enabled := False; Inc( I ); end;
  22. Если нет данных и вы хотите отобразить их загрузку, то что будет делать в это время основной поток? Основной поток простаивает зачем нужен дополнительный? Если в основном потоке работает пользователь, то зачем ему надо показывать прогресс бар?
  23. Пожалейте пользователя, перед глазами две формы плюс splash форма да еще форма с прогресс баром при этом на каждой что-то меняется куда ему смотреть и на какой жать клавиши
  24. C этим согласен, но как бы было хорошо если бы андроид научили "тормозить" потоки типа WaitForSingleObject.
×
×
  • Создать...