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

gonzales

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

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

  • Посещение

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

    26

gonzales стал победителем дня 18 октября

gonzales имел наиболее популярный контент!

Посетители профиля

9 573 просмотра профиля
  1. Color := Stringgrig.StylesData['background.content.selection.Fill.Color'] Это просто набор цветов, который я использую. Я дал пример, выдранный из одного моего проекта, нигде ничего четко написано не будет))) Для понимания работы цветов в firemonkey - вот почитайте https://docwiki.embarcadero.com/RADStudio/Sydney/en/Colors_in_FireMonkey то, что Вы указали Color:=0 - так это нулевой цвет, с нулевой прозрачностью, что Вы ожидали увидеть?
  2. Так Вам шашечки или ехать? Если Вы рисуете на канве, то какие стили могут быть? Для канвы я Вам пример дал, там есть все про цвет выделенной ячейки. Если Вы хотите попробовать использовать стили, то примерно это должно выглядеть так Stringgrig.StylesData['background.content.selection.Fill.Color'] := Color; Но это не точно, надо пробовать А где увидеть, что именно используется из стиля я не знаю, может кто еще подскажет. По стилям есть видеоуроки от Ярослава Бровина, посмотрите, может там будет ответ
  3. если я правильно понимаю, то импортирование функций идет по имени, соответственно использовать библу без описания не получится. av_get_channel_layout_string:procedure(buf : PAnsiChar;buf_size : Integer;nb_channels : Integer;channel_layout : int64_t) ; cdecl; @av_get_channel_layout_string:=SafeGetProcAddress(AVUtilHandle, 'av_get_channel_layout_string');
  4. Да, прочитал. Это как раз оно. Что-то с путями происходит при выкладывании бангла. Но решения так и нет, если я правильно понял
  5. Ну я везде использую свою отрисовку, поэтому у меня такой проблемы не стоит, все таблички выглядят одинаково
  6. может надо вместо JsonToSend.WriteString(Memo3.Text); писать JsonToSend.WriteString(TNetEncoding.Base64String.Encode(Memo3.Text)); Подключить юнит System.NetEncoding
  7. Только с рисованием. Используй GridDrawColumnCell procedure TForm2.GridDrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates); const HorzTextMargin = 2; VertTextMargin = 1; var TextLayout: TTextLayout; TextRect: TRectF; el_id: Integer; i: Integer; el_type: Integer; begin TextRect := Bounds; TextRect.Left := TextRect.Left + 1; TextRect.Bottom := TextRect.Bottom - 1; TextRect.Inflate(-HorzTextMargin, -VertTextMargin); if TGridDrawState.RowSelected in State then Canvas.Fill.Color := form1.Style.SelectCellColor else Canvas.Fill.Color := TAlphaColors.white; Canvas.FillRect(Bounds, 0, 0, AllCorners, 1); if Value.IsEmpty = false then begin TextLayout := TTextLayoutManager.DefaultTextLayout.Create; try TextLayout.BeginUpdate; try TextLayout.WordWrap := false; TextLayout.Opacity := Column.AbsoluteOpacity; TextLayout.HorizontalAlign := TTextalign.Leading; TextLayout.VerticalAlign := TTextalign.Center; TextLayout.Trimming := TTextTrimming.Character; TextLayout.TopLeft := TextRect.TopLeft; TextLayout.Text := Value.ToString; TextLayout.MaxSize := PointF(TextRect.Width, TextRect.Height); el_type := 0; //условие и т.д. if el_type = 0 then TextLayout.Color := form1.Style.OsveshenieColor else if el_type = 1 then TextLayout.Color := form1.Style.KlimatColor else if el_type = 2 then TextLayout.Color := form1.Style.BezopasnostColor else if el_type = 3 then TextLayout.Color := form1.Style.OhranaColor else if el_type = 4 then TextLayout.Color := form1.Style.UstroystvaColor else if el_type = 5 then TextLayout.Color := form1.Style.UpravlenieColor else if el_type = 6 then TextLayout.Color := form1.Style.WifiColor else if el_type = 7 then TextLayout.Color := form1.Style.DopColor; { Пользовательские настройки отрисовки } // TextLayout.Font.Family := 'Times New Roman'; // TextLayout.Color := form1.Style.FontColor; TextLayout.Font.Size := form1.Style.FontSize; TextLayout.Font.Family := (Sender as TStringGrid).TextSettings.Font.Family; finally TextLayout.EndUpdate; end; TextLayout.RenderLayout(Canvas); finally TextLayout.DisposeOf; end; end; end;
  8. деплоить библиотеку используя RemotePath library\lib\arm64-v8a\ (это для Android64) DLL_PATH:=TPath.GetLibraryPath+'/'; function MySafeLoadLibrary(ModuleName:string):HMODULE; var errorMsg:string; begin Result:=0; ModuleName:=DLL_PATH+ModuleName; if FileExists(ModuleName) then begin Result:=LoadLibrary(PChar(ModuleName)); end; if Result = 0 then begin errorMsg:=string(UTF8Decode(dlerror)); errorMsg:=Format('Can not load %s error:%s', [ModuleName, errorMsg]); ShowMessage(errorMsg); raise Exception.Create(errorMsg); end; end;
  9. Оставлю тут информацию, чтобы не потерялась. Суть проблемы в следующем, в проекте используются сторонние библиотеки, которые подключены в deployment. Прописаны пути для этих библиотек library\lib\arm64-v8a\. Все работает при отладке на телефоне в Release mode (Development). Для сборки пакета для Goolge Play переключаюсь в Release (Application Store) и создаю aab файл. Google его нормально принимает, приложение выкладывается, и тут возникает ошибка то есть программа не может найти библиотеку libavutil.so по адресу data/.... Причем ошибку наблюдается на Андрод 9 и 10, а на Андроид 11 работает все штатно. Открываю aab файл как архив, вот же они, все библиотеки на месте. Напоминаю, что apk файл отрабатывает на устройстве абсолютно нормально, но загрузить его в Google Play не получается, потому как в Development mode не подтягиваются сертификаты, необходимые для выкладки, а в Application Store mode не создается apk файл. На данный момент нашел только одно решение проблемы, возможно кто-нибудь подскажет что-то более вменяемое 1. Запускаем командную строку команда создания сета с apk java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\Android\bundletool-all-0.13.3.jar" build-apks --mode=universal --bundle="путь до aab файла.aab" --output="путь куда развернуть apks файлы.apks" --ks="путь до keystore файла.keystore" --ks-pass=pass:пароль keystore --ks-key-alias=алиас приложения --key-pass=pass:пароль алиаса После непродолжительного ожидания в папке "путь куда развернуть apks файлы" создается apks файл 2. Открываем получившийся apks файл как архив, вытаскиваем оттуда apk файл. У меня он называется universal.apk 3. Уже этот apk файл выкладываем в Гугл. Метод конечно абсолютно костыльный, вообще непонятно сколько еще Гугл продолжит принимать apk вместо aab, надеюсь, что этот месседж кто-нибудь увидит и эту хрень пофиксят.
  10. Чтобы не плодить тем, спрошу тут. С выходом 14 iOs при обращении к ресурсам в локальной сети iOs выдает запрос на разрешение на поиск устройств в локальной сети и подключение к ним. Не подскажете, как можно запросить это разрешение заранее?
  11. Я разобрался, откуда вылезли эти грабли. У меня почему-то прописалось прямо в файле проекта (dproj файл), что Андроид64 использует SDK 25.2.5. После того, как я удалил эту привязку, все скомпилилось. А вообще 26 SDK у меня нормально существует)))
  12. gonzales

    Push в Delphi11

    Оставлю здесь информацию, как заставить работать пуши при переходе на delphi11. Если Вы заметили, что после перехода на 11 версию у Вас отвалились пуши, система не показывает firebase token, то проблема решается так. 1. Скачиваем JSON с консоли FireBase 2. Открываем его, видим следующий вид 3. Вписываем в Настройках проекта в секцию Services в следующем соответствии: API key - current_key Application id - mobilesdk_app_id Project id - project_id GSM sender id - project_number 4. И не забываем выставить в секцию Entitlement List галочку Receive push notifications. После этого все опять начинает работать.
  13. Пытаюсь скомпилить проект, сделанный в 10.4.2. Получаю вот такую шляпу [Error Error] Specified platform sdk not found: 'C:\Users\user\AppData\Roaming\Embarcadero\BDS\22.0\AndroidSDK25.2.5_64bit.sdk' Заглядываю в папку C:\Users\user\AppData\Roaming\Embarcadero\BDS\22.0. Там лежат только файлы AndroidSDK26.1.1_64bit.sdk AndroidSDK26.1.1_32bit.sdk Новое приложение создается и компилируется без проблем. Пробовал подмахнуть манифест от нового приложения - не помогло. Не подскажете, где копать?
  14. Удалил какие-то приложения (удалял сразу несколько, поэтому не могу сказать точно, какие) и все заработало
  15. Собственно вопрос в заголовке, но немного деталей. Попался в руки телефон OnePlus 9R, с 11 андроидом на борту. Так вот на нем, любое приложение, скомпилированное в среде 10.4.1 не висит в списке запущенных, то есть его нельзя остановить стандартным способом. На других телефонах с 11 андроидом вроде все нормально. Никто случайно не сталкивался с такой болячкой? Все, что мне удалось найти в сети по этому поводу, что есть команды для манифеста, чтобы скрыть как раз приложение из списка android:excludeFromRecents="true" Пробовал ставить false - не помогло. Буду рад любым комментариям...
×
×
  • Создать...