-
Постов
61 -
Зарегистрирован
-
Посещение
-
Победитель дней
6
Активность репутации
-
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.
-
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.
-
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.
-
IVGSoft получил реакцию от Ingalime в Скроллинг на канве
Первым делом FMX пытается использовать аппаратное ускорение (DirectX на Windows), при невозможности - GDI+.
Посмотрите исходники и увидите на каком канвасе все рисуется.
-
IVGSoft получил реакцию от Barbanel в Скроллинг на канве
Первым делом FMX пытается использовать аппаратное ускорение (DirectX на Windows), при невозможности - GDI+.
Посмотрите исходники и увидите на каком канвасе все рисуется.
-
IVGSoft получил реакцию от Евгений Корепов в обновление визуальных компонентов
Снабдите запрос уникальным идентификатором.
-
IVGSoft получил реакцию от gonzales в обновление визуальных компонентов
По умолчанию - да. Но можно указать флаг Suspended при создании. Тогда метод Execute будет запущен после снятия єтого флага.
Синхронизация нужна при обращении к визуальным компонентам. И то только при обновлении (перерисовке) их свойств. Для чтения не надо.
Да, именно так. Если есть изменения визуальных компонентов - надо использовать синхронизацию.
-
IVGSoft получил реакцию от Ingalime в обновление визуальных компонентов
Почему бесконечном? Тут как захотите. Обычно делают как-то так :
While not (Terminated or fStopped) do
begin
DoSomeActions;
end;
-
IVGSoft отреагировална krapotkin в Подсчет высоты ListView
менюшку нет никакого смысла делать на ListView
несколько итемов ListBox отлично справится
и раскладки можно любые раскладывать
-
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
Правда у меня только звук "чпок" на всех константах. Но мне он и был нужен )
-
IVGSoft отреагировална Равиль Зарипов (ZuBy) в Http client server
вы не понимаете задачу которую хотите решить, читайте мануалы
-
IVGSoft отреагировална Виталий Иванов в Audio Streaming
Теперь есть отправная точка как это должно, теперь буду дальше эксперементировать. Нужно сделать теперь ещё сервер для того что бы это работало через NAT и проверить работу на Android
-
-
-
IVGSoft получил реакцию от Alex7wrt в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от Brovin Yaroslav в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от Anatoliy в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от dnekrasov в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от Евгений Корепов в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от Mars M в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
-
IVGSoft отреагировална Bohdan в TEdit проблема с установка фокуса и его снятием
Согласен, вопрос был как отследить Тар за пределами Edit, я сделал через Layout все работает ожидаемо и как надо.
После этого пришли коллеги и предложили вариант со стилями которое вылилось в обработать все клики/тапы на контролах которые не принимают фокус для отслеживания потери фокуса Edit. Мне кажется это решение не оптимальным, я начал обсуждения этого варианта, вдруг будет решение проще чем Layout с Edit и одним обработчиком OnClick/OтTap на Layout.
Не понимаю где я вышел за рамки своего вопроса,
-
IVGSoft получил реакцию от rareMax в Обработка анимированных GIF по рецепту китайского коллеги
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
FMX.GifUtils.zip
-
IVGSoft получил реакцию от Alex7wrt в поточная загрузка картина не работает Android
Ну, во первых, не fot.LoadFromStream, а
tb.LoadFromStream(fot);
И еще рекомендую добавить перед этим такую строчку
fot.position := 0;
-
IVGSoft отреагировална krapotkin в Индикатор замирает во время создания объектов в ScrollBox'е
Это для совсем простеньких случаев, когда классу потока не нужны поля, методы и все такое. TTask.Run ничем не отличается от этого
А для более продуманных вещей потомки TThread по-прежнему рулят