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

GASCHE

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

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

  • Посещение

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

    12

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

  1. GASCHE

    Canvas,

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

    Canvas,

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

    Canvas,

    Смотрим отличия этих процедур, закомментируем лишнее //chart.Clear; и все "так же пусто" пропадает и мы видим график.
  4. Я рисовал требуемое количество точек на TBitmap потом все копировал на экран, вырезал с TBitmap со второй точки очищал и копировал туда же все начиная с первой точки TBitmap в конец TBitmap дорисовывал следующую точку графика и так далее.
  5. Не совсем понятно, надо при каждом изменении дорисовывать в конец графика по одной точке, или каждый раз "менять/перерисовывать" весь график?
  6. В windows это позволяет запустить поток когда вам нужно, а не по таймеру.
  7. Несколько не так, WaitForSingleObject поток засыпает и ждет тот же Event что хорошо для реализации асинхронного режима, repeat ... until Done поток не спит, нагружая процессор не нужной работой.
  8. Для асинхронного режима в Windows есть WaitForSingleObject( Event, INFINITE ) , что аналогичное можно использовать в много платформенных приложениях?
  9. Как то так работает procedure TfLT.cbMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin iTagObject := ( Sender as TCornerButton ).Tag; sState := Shift; btnChange(); end; думаю и MyOnClick() тоже будет.
  10. Тут Долго загружаются данные в Grid смотрели?
  11. В синхронизации. С чего вы решили, что по ReadFile ваш прибор, подключенный к ком порту должен передать или иметь в буфере сом порта именно "правильную" строку? Думаю, надо после приема производить разборку принятой строки и формировать требуемую вам.
  12. Как-то не вяжется INSERT и Open, может лучше ExecSQL использовать?
  13. Если верить интернету, то в Windows создание потоков и синхронизация с основным потоком довольно "трудозатратая" операция. Для Windows я торможу поток dwStatus := WaitForSingleObject( Parms.fvEventUSB, INFINITE ); Когда надо запустить поток устанавливаю Event, данные из потока скидываю в потокобезопасный буффер и сообщаю об окончании обработки данных установкой другого Event.
  14. Думаю нет, вы не знаете какой поток к ней обратиться в тот или иной момент времени. В Windows у вас отрабатывает сначала основной поток потом ForceQueue в андроид ForceQueue вклинивается в основной поток.
  15. А может не работает потому что неправильно написано? На мой взгляд MyLog не потокобезопасная процедура, а вы к ней обращаетесь из разных потоков. Из своего опыта я бы даже для Windows так делать не стал бы, один раз прокатит другой нет.
  16. Не знаю правильно ли указывать папку вместе с именем сайта, но обычно папки разделяют так const // Доменное имя сайта DOMAIN = '193.106.248.115\Push_Server';
  17. В паскале если сам создал, то и уничтожать надо самому IF Assigned( postdata ) THEN BEGIN postdata.DisposeOf; postdata := Nil; END;
  18. Такое впечатление что вам тут кто-то должен. Есть стиль
  19. Скорее всего так утверждают те, кто неправильно их использует.
×
×
  • Создать...