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

GASCHE

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

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

  • Посещение

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

    13

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

  1. Так тоже интересно попробовать, но я имел ввиду WaitForAny или
  2. А что мешает дождаться завершения потока и по его результату запускать следующий?
  3. Здесь смотрели?
  4. Да есть такая картинка, у меня если выбирать больше 41, то последний видимый при раскрытии списка все равно остается 41.
  5. Не совсем понятно что не так, но у меня вроде без проблем, все видно и все скроллируется.
  6. GASCHE

    Canvas,

    Очистить можно так Chart.7z
  7. GASCHE

    Canvas,

    Прям заставляете усомниться в своих знаниях. А можно подробней почему SetLength(Series, 99); for i := 0 to 99 do считаете правильно?
  8. GASCHE

    Canvas,

    Application.ProcessMessages; Это костыль для решения вашей проблемы, я бы вместо panel.Repaint; очищал так panel.Canvas.Clear(TAlphaColorRec.White); Тогда Application.ProcessMessages не нужен.
  9. GASCHE

    Canvas,

    Ну почему. Если без этой процедуры все работает то что-то в ней вы написали не правильно, значит в ней и надо копать. Добавьте после неё Application.ProcessMessages;
  10. GASCHE

    Canvas,

    Смотрим отличия этих процедур, закомментируем лишнее //chart.Clear; и все "так же пусто" пропадает и мы видим график.
  11. Я рисовал требуемое количество точек на TBitmap потом все копировал на экран, вырезал с TBitmap со второй точки очищал и копировал туда же все начиная с первой точки TBitmap в конец TBitmap дорисовывал следующую точку графика и так далее.
  12. Не совсем понятно, надо при каждом изменении дорисовывать в конец графика по одной точке, или каждый раз "менять/перерисовывать" весь график?
  13. А как настраивать?
  14. В windows это позволяет запустить поток когда вам нужно, а не по таймеру.
  15. Несколько не так, WaitForSingleObject поток засыпает и ждет тот же Event что хорошо для реализации асинхронного режима, repeat ... until Done поток не спит, нагружая процессор не нужной работой.
  16. Для асинхронного режима в Windows есть WaitForSingleObject( Event, INFINITE ) , что аналогичное можно использовать в много платформенных приложениях?
  17. Как то так работает procedure TfLT.cbMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin iTagObject := ( Sender as TCornerButton ).Tag; sState := Shift; btnChange(); end; думаю и MyOnClick() тоже будет.
  18. Тут Долго загружаются данные в Grid смотрели?
  19. В синхронизации. С чего вы решили, что по ReadFile ваш прибор, подключенный к ком порту должен передать или иметь в буфере сом порта именно "правильную" строку? Думаю, надо после приема производить разборку принятой строки и формировать требуемую вам.
  20. Тип полей NOMER, DATA.
  21. Как-то не вяжется INSERT и Open, может лучше ExecSQL использовать?
  22. Если верить интернету, то в Windows создание потоков и синхронизация с основным потоком довольно "трудозатратая" операция. Для Windows я торможу поток dwStatus := WaitForSingleObject( Parms.fvEventUSB, INFINITE ); Когда надо запустить поток устанавливаю Event, данные из потока скидываю в потокобезопасный буффер и сообщаю об окончании обработки данных установкой другого Event.
  23. Думаю нет, вы не знаете какой поток к ней обратиться в тот или иной момент времени. В Windows у вас отрабатывает сначала основной поток потом ForceQueue в андроид ForceQueue вклинивается в основной поток.
×
×
  • Создать...