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

#WAMACO

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

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

  • Посещение

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

    27

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

  1. Like
  2. Like
    #WAMACO отреагировална Tumaso в [DELPHI FMX Android] [6.0] Не удается загрузить SSL библиотеку   
    На stackoverflow описано решение этой проблемы. Суть в том, что мы принудительно заставляем Indy использовать OpenSSL вместо BorinSSL:
    1. добавляем в project deployment для андроида 2 файла: libcrypto.so и libssl.so (взять их можно на https://forums.embarcadero.com/thread.jspa?threadID=211147), в качестве Remote path для обоих файлов указываем .\assets\internal
    2. убеждаемся, что в .dpr модуль System.StartUpCopy указан самым первым
    3. при запуске приложения вызываем IdOpenSSLSetLibPath(TPath.GetDocumentsPath) 
    примечание к версии SSL - на файлы по ссылке из п.1 Google не выдает предупреждений, а на более старые версии будет ругаться
  3. Like
    #WAMACO отреагировална Fedor K в TWebBrowser и неверный ssl сертификат на сайте.   
    Думаю вполне реально. Пример обхода этой проблемы есть  ссылка #1 и ссылка #2. Методика следующая:
    Добавляем в .plist из комментария разрешения. Открываем FMX.WebBrowser.Delegate.iOS и правим TWebViewDelegate.shouldStartLoadWithRequest, запрещая загрузку при получении invalid сертификата. Создаем экземпляр NSURLConnection и выполняем тот же запрос. В методе didReceiveAuthenticationChallenge доверяем сертификату. Выполняем загрузку страницы в webView заново. Is the issue still actual? If yes, please send to me the fmx.jar file (by default path: "C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\android\release"). Thanks.
  4. Like
  5. Like
    #WAMACO отреагировална Tumaso в Определение слабого телефона   
    Пользователь может изменить качество эффектов, но уж очень хочется облегчить всем жизнь. Пользователь должен запустить программу, а она по умолчанию не тормозит  
    В общем я решил измерять производительность при старте, как раз висит splash-форма как заставка (она создает главное окно и после создания переключает на него и делает его главным), пользователю придется чуть дольше подождать запуска. Думаю это не проблема.
    Суть идеи - у меня приложение построено на фреймах, которые динамически создаю/уничтожаю. И как раз стартовый фрейм является небольшой демкой возможностей, там используется много эффектов и разных компонентов. Поэтому я создаю этот фрейм, делаю предзагрузку стилей всем компонентам фрейма (этот способ взял на этом же форуме, автор Ярослав). После этого создания фиксирую время, за которое создается скриншот этого фрейма (т.е. использую MyFrame.MakeScreenshot). И уже на основании потраченного времени оцениваю производительность железа при работе с графикой.
    type /// <summary> /// Производительность оборудования /// </summary> THardwarePerformance = ( /// <summary> /// Высокая производительность /// </summary> performanceHigh, /// <summary> /// Средняя производительность /// </summary> performanceMedium, /// <summary> /// Низкая производительность /// </summary> performanceLow ); function DetectPerformance(AImage: TImage): THardwarePerformance; var LTemp: TBitmap; begin // измеряем производительность оборудования CreateFrame(modeWelcome); // существующий в другом коде метод, создающий нужный фрейм LTime := Now; LTemp := Frames[modeWelcome].MakeScreenshot; try AImage.Bitmap.SetSize(LTemp.Width, LTemp.Height); AImage.Bitmap.CopyFromBitmap(LTemp); finally LTemp.DisposeOf; end; LTime := Now - LTime; // оцениваем производительность if LTime < EncodeTime(0, 0, 0, 300) then Result := performanceHigh else if LTime < EncodeTime(0, 0, 2, 0) then Result := performanceMedium else Result := performanceLow; end; Протестировал на доступных телефонах, пока определяет верно
  6. Like
    #WAMACO отреагировална Andrey Efimov в Что лучше: TIdHttp или TNetHTTPClient?   
    Если не изменяет память, то:
    Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток.
    На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью)
     
    p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы.
  7. Like
    #WAMACO отреагировална Brovin Yaroslav в Инструкция по установке набора компонентов FGX   
    Можно, вы можете у себя поправить пути сборки для пакетов fgx и dclfgx. На будущее подумаю, куда лучше складывать собранные файлы.
  8. Like
    #WAMACO получил реакцию от Anatoliy в [TListView] высота итема=0   
    Сделайте структуру вне ListView, с ней работайте, ListView заполняйте по структуре, как надо.
    Например, сначала видны категории, выбрали категорию, перезаполнили ListView элементами выбранной категории + категориями,которые свернуты.
  9. Like
    #WAMACO получил реакцию от enatechno в [TListView] высота итема=0   
    Сделайте структуру вне ListView, с ней работайте, ListView заполняйте по структуре, как надо.
    Например, сначала видны категории, выбрали категорию, перезаполнили ListView элементами выбранной категории + категориями,которые свернуты.
  10. Like
    #WAMACO отреагировална krapotkin в Перехват события OnClick в динамическом массиве TBotton   
    Когда у бабушки будут для этого необходимые предпосылки, ее будут называть дедушкой. Речь идет о совершенно конкретной задаче. 
    Если вы назначите обработчик OnClick edit'у, то это будет уже другая задача, и решать ее нужно с учетом всех имеющихся обстоятельств.
    Если вы замахнулись на "абстрактность", то вам должно быть недостаточно использовать свойство Tag, которое, очевидно, является костылем, заменяющим в мелких проектиках с прямолинейной логикой использование нормальной модели данных...
     
  11. Like
    #WAMACO отреагировална krapotkin в Перехват события OnClick в динамическом массиве TBotton   
    как вместо Sender придет не TButton, если мы сами создавали массив и присваивали этот обработчик каждой кнопке???
    у него написано совершенно верно, только скобок в := MyOnClick() не должно быть
    и какая бы кнопка не пришла, именно указатель на нее хранится в Sender
    это магия такая
  12. Like
    #WAMACO получил реакцию от МедиаСистемы в Перехват события OnClick в динамическом массиве TBotton   
    Form1.MyButton[I].OnClick := OnMyClick(ссылка на объект TMyButton); далее в OnMyClick узнавай кнопку
  13. Like
    #WAMACO отреагировална Vitaldj в Встреча в Питере!   
  14. Like
    #WAMACO отреагировална enatechno в Долго загружаются данные в Grid   
    Я бы порекомендовал добавить на форму Memo и разбросать по своему коду комбинацию из моего примера для поиска места, где происходит задержка:
     
    LTime := Now; // действие Memo1.Lines.Add('Тут название действия: '+ IntToStr(MilliSecondOfTheMinute(Now - LTime)) + ' ms');  
  15. Like
    #WAMACO отреагировална enatechno в OnTap не меняет положение курсора   
    uses System.Threading; //.... procedure TForm1.Memo1Tap(Sender: TObject; const [Ref] Point: TPointF); begin TTask.Run(procedure begin TThread.Synchronize(nil, procedure begin ShowMessage(IntToStr(Memo1.SelStart)); end); end); end;  
  16. Like
    #WAMACO отреагировална krapotkin в Долго загружаются данные в Grid   
    Хорошим способом будет держать структуру данных и ее заполнять из базы
    а грид уже из структуры данных
    по OnSelectCell берете из структуры данных ключ к таблице и перемещаетесь по ней.
    Но так делать тоже не очень гут. Если мы работаем со структурами данных, по ним и ходим
  17. Like
    #WAMACO получил реакцию от Anatoliy в Топ игровых приложений   
    Здравствуйте!
    Порекомендуйте годные игры, в которые играете (играли) больше всего!
    Формат сообщений:
    официальное название жанр ОС ссылка AppStore / Google Play стоимость (платная/бесплатная) 
  18. Like
    #WAMACO отреагировална Rusland в Топ мобильных приложений   
    Официальное название: Тинькофф Официальный сайт: http://tinkoff.ru Платформы: Android, iOS
  19. Like
    #WAMACO отреагировална mazayhin в Мобильное приложение для курьера   
    Мобильное приложение для курьера службы доставки.
    Приложение не самостоятельное, работает с системой автоматизации Tillypad XL.
    Возможности:
    получение и отображение информации о назначенных (выполненных) заказах курьера уведомления о новых заказах и изменениях в текущих просмотр информации о заказе (клиент, адрес, дата доставки, сумма и состав заказа) изменение статусов заказа, а так же времени, требуемого для доставки отображение заказа (всех заказов) на карте прокладка маршрута до клиента в навигаторе (Google, Yandex, 2GIS) связь с клиентом (оператором) - передача номера телефона или заказ обратного вызова через АТС отправка на сервер информации по фактическому маршруту курьера до клиента, а так же его местонахождения Активно разрабатывается взаимодействие с ККТ, для выдачи фискального чека клиенту в момент расчета.
    Приложение написано в RAD Studio Berlin 10.1 (Delphi).
    Огромное СПАСИБО:
    Ярослав Бровин - компоненты FGX (fgActivityDialog, fgToast, fgActionSheet),
    Равиль Зарипов - ModernListView,
    Андрей Ефимов - CustomActivityEvent
     
     
     

     
  20. Like
    #WAMACO отреагировална mazayhin в Драйвер ККМ   
    В принципе, проблем не было пока. Обертка нормально создалась, почистили от "лишнего", что связано с интерфейсом.
    Настройки заполняем самостоятельно, вроде, все работает. Проверяли только BT, до USB пока не дошли.
    Как отладим работу с ФР, перейдем к платежному терминалу (60Ф).
    Ну и оформим класс для удобной работы, и выложим на форум, вдруг кому пригодиться.
  21. Like
    #WAMACO отреагировална Alex7wrt в 9-Patch PNG FMX Generator   
    Сделал небольшую программу-генератор 9-patch заставок. 
    Достаточно выбрать цвет фона, логотип и его видимый размер, и программа сгенерирует 9-patch для всех необходимых  в FMX размеров.

    Примеры
    Рисунок:

    Полученные 9-Patch png:

    Рисунок:

    Полученные 9-Patch png:

     
    Исходники: 9Patch Generator.zip
     
  22. Like
    #WAMACO отреагировална sinuke в Игра в пятнашки - Fifteen Puzzle   
    Название: Fifteen Puzzle
    Платформа: Android
    Устройство: Смартфон, планшет
    Разрешение экрана: любое
    Google Play: https://play.google.com/store/apps/details?id=com.sinukeapps.fifteenpuzzle
    Описание: Классическая игра в пятнашки, в которой нужно собраться костяшки по порядку от 1 до 15. В игре предлагаются только решаемые расклады. Имеется возможность делиться своими результатами с друзьями. Переведено на русский, английский, украинский, белорусский и татарский языки.
    Скриншоты:
     
  23. Like
    #WAMACO отреагировална sinuke в Учебное приложение "Слесарное дело"   
    Сделал версию для macOS: https://yadi.sk/d/wBpoFcKe3LgiKx

  24. Like
    #WAMACO отреагировална Равиль Зарипов (ZuBy) в Вывод/отображение нескольких картинок на форме   
    Недостаток у ЛВ один (не один, но все же), не все умеют им пользоваться)
    картинка там прекрасно растягивается, копайте свойства
     



  25. Like
    #WAMACO получил реакцию от DMS в [Android] Вспомогательные формы и ShowModal   
    этот код
     
    dlg2 := TForm3.Create(nil); dlg2.ShowModal( procedure(ModalResult: TModalResult) begin ... end); после закрытия первой вспомогательной вызывай!
×
×
  • Создать...