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

IVGSoft

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

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

  • Посещение

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

    6

Активность репутации

  1. Like
    IVGSoft получил реакцию от Brovin Yaroslav в Can not save record(data) into database mySQL Using Delphi 10.3 Rio in Release Mode   
    As I told you in a previous message - use logging after each potentially errorneous block/line.
  2. Like
    IVGSoft получил реакцию от Brovin Yaroslav в Can not save record(data) into database mySQL Using Delphi 10.3 Rio in Release Mode   
    Separate UI code from other logic. 
  3. Like
    IVGSoft получил реакцию от Brovin Yaroslav в Can not save record(data) into database mySQL Using Delphi 10.3 Rio in Release Mode   
    procedure TLocationForm.btnSendClick(Sender: TObject); begin with dmMyLocation do begin if not fgActivityDialog.IsShown then begin fgActivityDialog.Message := 'Please, Wait'; fgActivityDialog.Show; FActivityDialogThread := TThread.CreateAnonymousThread(procedure begin Sleep(1000); if TThread.CheckTerminated then Exit; TThread.Synchronize(nil, procedure begin fgActivityDialog.Message := 'Sending data...'; end); try qInsert.SQL.Clear; qInsert.SQL.Add('INSERT INTO mabsensilokasi('); qInsert.SQL.Add('idlokasi,'); qInsert.SQL.Add('tgllokasi,'); qInsert.SQL.Add('latx,'); qInsert.SQL.Add('longx,'); qInsert.SQL.Add('latlongx,'); qInsert.SQL.Add('namalokasi) '); qInsert.SQL.Add('VALUES('); qInsert.SQL.Add(':idlokasi,'); qInsert.SQL.Add(':tgllokasi,'); qInsert.SQL.Add(':latx,'); qInsert.SQL.Add(':longx,'); qInsert.SQL.Add(':latlongx,'); qInsert.SQL.Add(':namalokasi)'); qInsert.Prepare; qInsert.Params[0].AsInteger := 0; qInsert.Params[1].AsDateTime := Now; qInsert.Params[2].AsFloat := strToFloat(ENUSLat); qInsert.Params[3].AsFloat := strToFloat(ENUSLong); qInsert.Params[4].AsString := ENUSLat+':'+ENUSLong; qInsert.Params[5].AsString := edtNamaLokasi.Text; try UniConnection1.Connect; qInsert.ExecSQL; TThread.Synchronize(nil, procedure begin ShowMessage('Record was saved into MySQL Server DB...'); //showup windows of dialog when data was save succesfully into db mysql server end); except on e:exception do begin TThread.Synchronize(nil, procedure begin ShowMessage(e.Message); UniConnection1.Disconnect; end); end;//exception end;//try //fgActivityDialog.ExecuteAction(btnSend); Sleep(1000); if TThread.CheckTerminated then Exit; TThread.Synchronize(nil, procedure begin fgActivityDialog.Message := 'Finish'; end); Sleep(500); if TThread.CheckTerminated then Exit; finally if not TThread.CheckTerminated then TThread.Synchronize(nil, procedure begin fgActivityDialog.Hide; end); end;//try end);//FActivityDialogThread FActivityDialogThread.FreeOnTerminate := False; FActivityDialogThread.Start; end;//if end;//endDM end;//endProc I have changed your code a little bit. To make some kind of separation.
  4. Like
    IVGSoft получил реакцию от Ingalime в Скроллинг на канве   
    Первым делом FMX пытается использовать аппаратное ускорение (DirectX на Windows), при невозможности - GDI+.
    Посмотрите исходники и увидите на каком канвасе все рисуется.
  5. Like
    IVGSoft получил реакцию от Barbanel в Скроллинг на канве   
    Первым делом FMX пытается использовать аппаратное ускорение (DirectX на Windows), при невозможности - GDI+.
    Посмотрите исходники и увидите на каком канвасе все рисуется.
  6. Like
    IVGSoft получил реакцию от Евгений Корепов в обновление визуальных компонентов   
    Снабдите запрос уникальным идентификатором. 
  7. Thanks
    IVGSoft получил реакцию от gonzales в обновление визуальных компонентов   
    По умолчанию - да. Но можно указать флаг Suspended при создании. Тогда метод Execute будет запущен после снятия єтого флага.
    Синхронизация нужна при обращении к визуальным компонентам. И то только при обновлении (перерисовке) их свойств. Для чтения не надо.
    Да, именно так. Если есть изменения визуальных компонентов - надо использовать синхронизацию.
  8. Like
    IVGSoft получил реакцию от Ingalime в обновление визуальных компонентов   
    Почему бесконечном? Тут как захотите. Обычно делают как-то так :
    While not (Terminated or fStopped) do
    begin
      DoSomeActions;
    end;
  9. Like
    IVGSoft отреагировална krapotkin в Подсчет высоты ListView   
    менюшку нет никакого смысла делать на ListView
    несколько итемов ListBox отлично справится
    и раскладки можно любые раскладывать
  10. Like
    IVGSoft отреагировална Евгений Корепов в Проигрывание стандартных звуковых эффектов Android   
    Задался вопросом, нашел ответ, может кому пригодится.
    uses Androidapi.JNI.Media, Androidapi.Helpers, Androidapi.JNIBridge, AndroidApi.Jni.JavaTypes, Androidapi.JNI.GraphicsContentViewText; .... procedure TFormMain.PlaySoundEffects(const ASoundID : Integer; AVolume : Single = 1.0); var AudioObj: JObject; Audio: JAudioManager; begin AudioObj:= TAndroidHelper.Context.getSystemService(TJContext.JavaClass.AUDIO_SERVICE); Audio:= TJAudioManager.Wrap((AudioObj as ILocalObject).GetObjectID); Audio.loadSoundEffects; Audio.playSoundEffect(ASoundID, AVolume); end; Константы звуковых эффектов тут https://developer.android.com/reference/android/view/SoundEffectConstants
    Правда у меня только звук "чпок" на всех константах. Но мне он и был нужен )
  11. Like
    IVGSoft отреагировална Равиль Зарипов (ZuBy) в Http client server   
    вы не понимаете задачу которую хотите решить, читайте мануалы
  12. Like
    IVGSoft отреагировална Виталий Иванов в Audio Streaming   
    Теперь есть отправная точка   как это должно, теперь буду дальше эксперементировать. Нужно сделать теперь ещё сервер для того что бы это работало через NAT и проверить работу на Android
  13. Like
  14. Like
  15. Like
    IVGSoft получил реакцию от Alex7wrt в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  16. Like
    IVGSoft получил реакцию от Brovin Yaroslav в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  17. Like
    IVGSoft получил реакцию от Anatoliy в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  18. Like
    IVGSoft получил реакцию от dnekrasov в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  19. Like
    IVGSoft получил реакцию от Евгений Корепов в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  20. Thanks
    IVGSoft получил реакцию от Mars M в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  21. Like
    IVGSoft отреагировална dnekrasov в FMX Form   
    Не за что.
    Маленькое уточнение - это хорошо работает только если один монитор. Вообще правильнее эмулировать максимизацию окна следующим образом:
    SetBounds(Screen.DisplayFromRect(Bounds).WorkAreaRect);  
  22. Like
    IVGSoft отреагировална Bohdan в TEdit проблема с установка фокуса и его снятием   
    Согласен, вопрос был как отследить Тар за пределами Edit, я сделал через Layout все работает ожидаемо и как надо.
    После этого пришли коллеги и предложили вариант со стилями которое вылилось в обработать все клики/тапы на контролах которые не принимают фокус для отслеживания потери фокуса Edit. Мне кажется это решение не оптимальным, я начал обсуждения этого варианта, вдруг будет решение проще чем Layout с Edit и одним обработчиком OnClick/OтTap на Layout.
    Не понимаю где я вышел за рамки своего вопроса,
  23. Like
    IVGSoft получил реакцию от rareMax в Обработка анимированных GIF по рецепту китайского коллеги   
    В конце концов получилось исправить.
    Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
    Пользуйтесь на здоровье!
    FMX.GifUtils.zip
  24. Like
    IVGSoft получил реакцию от Alex7wrt в поточная загрузка картина не работает Android   
    Ну, во первых, не fot.LoadFromStream, а
    tb.LoadFromStream(fot);
    И еще рекомендую добавить перед этим такую строчку
    fot.position := 0;
  25. Like
    IVGSoft отреагировална krapotkin в Индикатор замирает во время создания объектов в ScrollBox'е   
    Это для совсем простеньких случаев, когда классу потока не нужны поля, методы и все такое. TTask.Run ничем не отличается от этого
    А для более продуманных вещей потомки TThread по-прежнему рулят
×
×
  • Создать...