-
Постов
414 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Активность репутации
-
Pax Beach получил реакцию от Rusland в Таймер в сервисе
Создавать отдельный поток, а в нем уже sleep(msecs)
-
Pax Beach отреагировална rareMax в Плагин (Внешний модуль)
Чисто для винды - есть хорошо описаная тема(статей так на 11, на сколько я помню) от гансмокера. Будь готов вчитываться и стараться понимать что происходит. А вот собственно материал для изучения
-
Pax Beach отреагировална RoschinSpb в [Статья] Что нового в TImageList (RAD Studio 10.1 Berlin)
Статья: http://community.embarcadero.com/blogs/entry/timagelist101ru-1 Автор: Сергей Рощин Обзор новых возможностей, которые появились в компоненте и редакторе TImageList для Delphi R101 (2016 год, Version 24)
-
Pax Beach отреагировална mrseagull в Как уменьшить нагрузку на ЦП?
Удобная программа, http://dbg-spider.net/
-
Pax Beach отреагировална estra в [Android] #13#10
Принтер
Нужно передать принтеру строку с командами, разделенными #13#10. Но когда я подготавливаю строку для передачи
// Content - TStringBuilder b := BytesOf(Content.GetString); b := TEncoding.Convert(TEncoding.UTF8, TEncoding.ANSI, b); ClientSocket.SendData(b); подозреваю, что символы #13#10 меняются на что то другое (о чем косвенно свидетельствует скрин в первом посте), в следствии чего принтер не понимает переданные команды.
-
Pax Beach отреагировална Равиль Зарипов (ZuBy) в Bitmap из MemoryStream
копируются данные через Assign или CopyFrom
-
Pax Beach отреагировална krapotkin в Bitmap из MemoryStream
мы возвращаем вызывающей процедуре ссылку на уже разрушенный объект ???
-
Pax Beach получил реакцию от Rusland в Приостановить запущенный сервис
Сервис занимает в памяти 10-15 Мб, процессор не ест пока стоит.
Останавливать его большой нужды для своих задач не вижу, кроме сервисной для сисадминов.
-
Pax Beach отреагировална Kitty в Компонет TBecon и эмулятор
C++ Builder 10.1 Berlin
1. Создаем эмулятор и запускам его.
2. Запускаем студию и создаем новый проект. В Target указываем созданный эмулятор.
3. Переносим на форму компонент TBecon. Никакого кода.
4. Запускаем компиляцию в режиме дебаг. Видим, что приложение начинает запускаться на эмуляторе однако получаем серию ошибок.
Вопрос: можно ли запускать на эмуляторе проект, в котором используется TBecon? Если да, то как избежать этих ошибок?
Спасибо.
-
Pax Beach отреагировална Rusland в Приостановить запущенный сервис
В общем решил я проблему следующим образом - останавливаю поток, а не сервис (все равно кроме потока в сервисе ничего нет). Пока мне этого хватит )
-
Pax Beach получил реакцию от Rusland в Приостановить запущенный сервис
procedure TForm1.Button2Click(Sender: TObject); var LIntent: JIntent; begin Log.D('Try to stop'); LIntent := TJIntent.Create; LIntent.setClassName(TAndroidHelper.Context.getPackageName(), TAndroidHelper.StringToJString('com.embarcadero.services.MyService')); TAndroidHelper.Activity.stopService(LIntent); end; Так останавливать сервис из приложения подойдет?
-
-
Pax Beach получил реакцию от Rusland в Приостановить запущенный сервис
В названии сервиса нет ошибки? Метод запуска такой префикс класса использует «com.embarcadero.services.».
class procedure TLocalServiceConnection.StartService(const AServiceName: string); var LIntent: JIntent; LService: string; begin LIntent := TJIntent.Create; LService := AServiceName; if not LService.StartsWith('com.embarcadero.services.') then LService := 'com.embarcadero.services.' + LService; LIntent.setClassName(TAndroidHelper.Context.getPackageName(), TAndroidHelper.StringToJString(LService)); TAndroidHelper.Activity.startService(LIntent); end;
-
Pax Beach отреагировална Rusland в Получение GPS координат из сервиса
Вот собрал проект на 10-ке LocationSensorPatch3.rar
-
Pax Beach отреагировална Rusland в Получение GPS координат из сервиса
Нет, я неправ. Сейчас проверил. в 12:07 закрыл программу, значок GPS пропал и не появляется до настоящего времени (12:47)
-
Pax Beach отреагировална Rusland в Получение GPS координат из сервиса
Pax Beach, Насколько помню, там дело обстоит так (и это касается сервисов в целом), после закрытия приложения - сервис отключается и не подает признаков жизни, но через некоторое время снова начинает работать. Я думаю это сделано специально, чтобы в случае какой-нибудь ошибки, суметь добраться до Настроек и удалить приложение
То есть по идее через какое-то время значок GPS снова появится... вот только не знаю чему это время равно.
-
Pax Beach отреагировална rareMax в BroadcastReceiver Library
1. Немного опиши для чего она нужна.
2. Добавь директивы {IFDEF Android} в местах, где используются чисто андроидные библиотеки
-
Pax Beach отреагировална Brovin Yaroslav в Delphi Berlin iso установка проблема
Читаем внимательно правила форума. А именно 3.3.
P.S. Это не официальный сайт эмбаркадеро, а форум по решению задач и проблем. На всякий случай скину вам ссылку: http://www.embarcadero.com/. Если вы чем-то не довольны, то прошу опять же на http://www.embarcadero.com/.
-
Pax Beach отреагировална Rusland в [Статья][Android] Приложение будильник. Использование AlarmManager в FireMonkey на Андроиде
Нужно запустить Monitor.bat - он показывает все что происходит в устройстве. Путь такой (если у вас Delphi 10): C:\Users\Public\Documents\Embarcadero\Studio\17.0\PlatformSDKs\android-sdk-windows\tools\monitor.bat
-
Pax Beach отреагировална Brovin Yaroslav в Как получить значение свойства объекта стиля, используя StylesData?
Нужно помнить, что StylesData при запросе значения свойства какого-либо объекта стиля всегда возвращает TValue.
Поэтому например в вашем случае вы допускаете сразу две ошибки по одной в каждом варианте:
Ошибка 1
Не правильно:
ListBoxItem.StylesData['text.width'].asInteger Свойство Width вещественного типа, поэтому при попытке конвертировать TValue в Integer этим способом приведет к ошибке "Invalid class typecast", так как представления вещественного и целого чисел отличаются.
Правильно:
ListBoxItem.StylesData['text.width'].AsExtended Ошибка 2
Не правильно:
ListBoxItem.StylesData['text.text'].asString В этом случае вы пытаетесь представить содержимое TValue, как строка. Но при таком обращении через методы, начинающиеся с приставки "As", идет попытка конвертации чистого значения вещественного числа (указатель в памяти) в строку. Естественно, что такая конвертация пройдет не правильно и закончится все той же ошибкой "Invalid class typecast"
Правильно:
ListBoxItem.StylesData['text.text'].ToString -
Pax Beach получил реакцию от zairkz в Генерация QR-кода на Android
На самом деле, вопрос с правильной отрисовкой на Bitmap в Android тоже не удалось решить.
Чтобы в приложении Android правильно отображался QR код, пришлось рисовать на канве TImage.Canvas, а не на канве TImage.Bimap.Canvas.
Поэтому при сохранении изображения приходится делать screenshot в TBitmap и далее resample в нужно разрешение изображения (через Canvas.DrawBitmap).
function TfmMainQRShare.getFinalBitmap(Img: TImage): TBitmap; var b: TBitmap; begin b := Img.MakeScreenshot; result := TBitmap.Create; result.Assign(b); result.SetSize(512,512); if result.Canvas.BeginScene() then try toast('OK'); result.Canvas.Clear(TAlphaColors.White); result.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch; result.Canvas.DrawBitmap(b, RectF(, , min(b.Width, b.Height), min(b.Width, b.Height)), RectF(, , 512, 512), 1, true); result.Canvas.EndScene; finally result.Canvas.EndScene; end; end;
В итоге, при сохранении получаем только часть изображения (видно ниже). Почему оно искажается при ресамплинге, пока не знаю.
Если Canvas.DrawBitmap не делать, а сразу result := Img.MakeScreenshot, тогда все ок — но в Bitmap сохраняется вся канва TImage, а не нужная область, что не правильно.
-
Pax Beach получил реакцию от zairkz в Генерация QR-кода на Android
я неправильно сделал, что не добавил строчку:
Canvas.Stroke.Kind := TBrushKind.Solid; рисовать квадратами, тоже хорошо получилось.
Модуль в моей редакции (в архиве выше) под Windows хорошо с UTF8 работает, а вод под Android разбираюсь. Спасибо за указание на ошибку.
-
Pax Beach отреагировална rareMax в Генерация QR-кода на Android
Добавьте это
{$ZEROBASEDSTRINGS ON} Инфа: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Zero-based_strings_(Delphi)
-
Pax Beach отреагировална Равиль Зарипов (ZuBy) в Генерация QR-кода на Android
могу подсказать в какую сторону копать. строки в ANDROID/IOS начинаются с 0, а там не заметил чтобы это учитывалось.
Если сделаете, выложите. Всем будет полезно
-
Pax Beach отреагировална Brovin Yaroslav в Почему на мобильных платформах у меня не рисуется окружность?
В вашем случае вы не задали тип кисти Canvas.Stroke. Более, чем уверен, что на устройстве там стоит TBrushKind.bkNone. Вашу проблему решит задание типа кисти TBrushKind.bkSolid.
procedure TForm5.Image14Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var EllipseRegion: TRectF; begin Canvas.Stroke.Kind := TBrushKind.bkSolid; Canvas.Stroke.Color := TAlphaColorRec.Red; EllipseRegion := TRectF.Create(TPointF.Create(100, 100), 20, 20); Canvas.DrawEllipse(EllipseRegion, 1); end; Хорошая практика отрисовки в FMX полагает, что вы полностью инициализируете все кисти, необходимые вам для отрисовки.
Так же обратите внимание, что канва для формы и всех контролах, размещенных на ней, всегда существует в одном экземпляре. И правилом хорошего тона, является использовать канву, переданную через параметры события отрисовки.