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

krapotkin

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

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

  • Посещение

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

    209

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

  1. Like
    krapotkin получил реакцию от Ingalime в Помогите проиграть звук в MediaPlayer   
    ну логично если указать только имя файла, а путь к нему не указать, то он и не найдется
  2. Like
    krapotkin получил реакцию от Ingalime в Воспроизведение видео с жесткого диска в twebbrowser   
    а где часть "Дано" ?
    ОС? Каким способом загружаете файл в браузер?
    в теории TMediaPlayer умеет и mp4 воспроизводить, но нужна конкретика
    есть также вариант PasLibVlc
  3. Like
    krapotkin получил реакцию от Ingalime в Работа Listview   
    самое простое (по мне лично) взять и положить на него новый объект типа крашеный прямоугольник.
    Свой класс объектов для listView можно создать аналогично тем, что есть в delphi, унаследовав от TDrawable
    https://www.youtube.com/watch?v=XRj3qjUjBlc
     
  4. Like
    krapotkin получил реакцию от Ingalime в Виртуальный ListBox в FireMonkey (FMX)   
    вроде уж везде написали что ListBox не предназначен для 20+ элементов. используйте ListView 
    https://www.youtube.com/watch?v=XRj3qjUjBlc
    для облегчения нелегкой работки можно посмотреть тут 
    http://fire-monkey.ru/topic/5519-фреймворк-для-стандартного-listview/#comment-34912
     
    ну и да, 50000+ элементов это несколько трешовый UI
  5. Thanks
    krapotkin получил реакцию от Олег Киреев в Unfotrunately, Project1 has stopped при запуске программы на Android   
    http://docwiki.embarcadero.com/RADStudio/Sydney/en/Android_Devices_Supported_for_Application_Development
    если посмотреть историю документа, то видно что уже в Revision as of 05:59, 29 October 2018 (view source) отсутствует А4.х
  6. Thanks
    krapotkin получил реакцию от Олег Киреев в Unfotrunately, Project1 has stopped при запуске программы на Android   
    надо прочитать доки и увидеть, что программы предназначены для запуска на Android 5.1+
  7. Like
    krapotkin получил реакцию от Yarpda в Как сделать управление в TWebBrowser под Win как на мобильных платформах   
    дык я ж с самого начала сказал про chromium? ))
  8. Like
    krapotkin получил реакцию от Ingalime в В DataSnap TClientDataSet установка фильтра   
    Можно воспользоваться OnFilterRecord
    там все ручное, под контролем
  9. Like
    krapotkin получил реакцию от Ingalime в Как сделать управление в TWebBrowser под Win как на мобильных платформах   
    prerequisite
    /priːˈrɛkwɪzɪt/ noun plural noun: prerequisites a thing that is required as a prior condition for something else to happen or exist. "sponsorship is not a prerequisite for any of our courses"   системные требования по-местному
  10. Like
    krapotkin получил реакцию от Ingalime в Как сделать управление в TWebBrowser под Win как на мобильных платформах   
    хм. а ведь в каждом браузере есть встроенный режим "смартфон" в панели разработчика
  11. Like
    krapotkin получил реакцию от Yarpda в Как сделать управление в TWebBrowser под Win как на мобильных платформах   
    хм. а ведь в каждом браузере есть встроенный режим "смартфон" в панели разработчика
  12. Like
    krapotkin получил реакцию от Edward Tarasov в RESTRequest GET вместо POST   
    Я сейчас перечитал, понял, что плохо сформулировал. Не "проблема на серверной стороне", а "проблема 99.9% именно в том что сервер редиректит". ))
  13. Like
    krapotkin получил реакцию от Edward Tarasov в RESTRequest GET вместо POST   
    Проблема на серверной стороне. 99.9%
    Обычно такая шутка - результат редиректа, потому что редиректы POST c кодами 301 и 302 это всегда GET. Есть редиректы 307, 308, они оставляют тип исходного запроса.
    Есть еще глубоко спрятанное и неочевидно названное свойство в THttpClient.RedirectsWithGET, там тоже можно поуправлять.
    Короче.
    1) отключите HandleRedirects и смотрите, что получится реально. Скорее всего будет приходить ответ, что произошел redirect, ищите на сервере, кто редиректит
    2) придумайте что выбрать их вышеописанного для решения проблемы
  14. Like
    krapotkin получил реакцию от Semitako в Не подключается Huawei   
    Короче, действуем примерно так.
    Я надеюсь, что базовые действия - скачать google latest adb driver - мы уже провели, но наш No- или Brand- name телефон недоступен
    Тогда
    1) идем в диспетчер устройств, находим там наше невстающее устройство, кликаем дважды,  и на закладке Сведения выбираем свойство ИД оборудования. Копируем себе
    что-то типа 

    2)  идем к файлам того самого драйвера, открываем android_winusb.inf 
    находим разделы
    [Google.NTx86] и [Google.NTamd64]
    и вписываем туда, прямо в оба
    ;galaxy tab a 2019
    %SingleAdbInterface%        = USB_Install, USB\VID_04E8&PID_6866
    %CompositeAdbInterface%     = USB_Install, USB\VID_04E8&PID_6866&MI_01
     
    3) делаем обновить драйвер, выбираем вариант Вручную, и указываем тот модифицированный файл
    если не берет автоматом, то "Выбрать из списка уже установленных..." --> "Есть диск" --> "Да, мне пофиг что он не подписан"
    4) The End
     
  15. Like
    krapotkin получил реакцию от Razmir в Вывод данных   
    1000Frames.7z1000 фреймов. Примерно полсекунды.
  16. Like
    krapotkin получил реакцию от Razmir в Вывод данных   
    1) Со стилями тормоза из-за того, что каждый раз итему переприсваивается стиль, и начинается реальный кипеш там под капотом.
    Вполне можно было просто подложить rectangle и просто задавать его цвет у каждого item. Ведь на самом деле в стилях вы делаете именно это, просто меняете цвет rectangle который где-то там в стиле.
    2) Зачем создавать динамически все контролы, если можно все оформить в TFrame и просто создавать его и класть хоть в listBox хоть в ScrollBox. (Это по сути одно и то же почти)
    3) Все зависит от количества элементов. Если их 30, то listBox вывезет. если 300 - то ни listBox ни ScrollBox тут не вывезут.
    Тогда надо брать ListView. Там все чуть сложнее, но зато нет проблем с производительностью.
     
  17. Like
    krapotkin получил реакцию от UFO 007 в Android SDK - с чем едят и как бороться?   
    Ну для начала, на мобильных осях все течет так быстро, что для текущей разработки подходит только текущая IDE поэтому нет смысла в XE вообще. До Delphi 10.1 разработка была абсолютно условной - может взлетит, а может и нет. технология-то сырая. Так что не надо просто глупостями заниматься.
    Про подключение телефона который не видится http://fire-monkey.ru/topic/6431-не-подключается-huawei/#comment-38150
     
    Про версии NDK я тоже где-то тут пост писал. Не смог быстренько найти. Она очень важна особенно для старых Android. Я эксперименты ставил.
    Xiaomi на Android 8 нормально работал а Samsung на Andoird 5.1 валился. Я просто подбором нашел нужную. В целом даже не очень долго. NDK  быстро качаются.
    Из SDK берутся только SDK tools поэтому там не очень критично что за версия, лишь бы пути к нужным exe вписать в настройках делфи.
     
  18. Like
    krapotkin получил реакцию от UFO 007 в Android SDK - с чем едят и как бороться?   
    Delphi никакого отношения к вашим SDK/NDK не имеет, она использует то что вы установили/ настроили.
    и даже предлагает установить кое-что, с чем точно умеет работать
    Я начиная с XE5 просто ставил Android Studio и SDK / NDK, чтобы иметь возможность контролировать что где у меня стоит, и не лазить по папкам с путем длиной 2000 знаков.
    Просто без AS нет SDK manager, и настройки делать неудобно. 
    Потом выбираем те версии, которые нужны. (запоминаем, что там Delphi хотела поставить) и прописываем пути в настройках delphi
    К последним версиям это стало работать практически в один клик.
    Выбирать, какие устройства видны или нет, тоже делфи ни при чем. Она все делает через ADB. Если ADB не видит девайс, то ни одна другая программа не увидит тоже. Для решения этой проблемы тоже есть тема на форуме, где правится sys - файл с описаниями доступных VendorId / ProductId в стандартном драйвере Googel ADB
  19. Like
    krapotkin получил реакцию от Ingalime в Android SDK - с чем едят и как бороться?   
    Delphi никакого отношения к вашим SDK/NDK не имеет, она использует то что вы установили/ настроили.
    и даже предлагает установить кое-что, с чем точно умеет работать
    Я начиная с XE5 просто ставил Android Studio и SDK / NDK, чтобы иметь возможность контролировать что где у меня стоит, и не лазить по папкам с путем длиной 2000 знаков.
    Просто без AS нет SDK manager, и настройки делать неудобно. 
    Потом выбираем те версии, которые нужны. (запоминаем, что там Delphi хотела поставить) и прописываем пути в настройках delphi
    К последним версиям это стало работать практически в один клик.
    Выбирать, какие устройства видны или нет, тоже делфи ни при чем. Она все делает через ADB. Если ADB не видит девайс, то ни одна другая программа не увидит тоже. Для решения этой проблемы тоже есть тема на форуме, где правится sys - файл с описаниями доступных VendorId / ProductId в стандартном драйвере Googel ADB
  20. Like
    krapotkin получил реакцию от mazayhin в Android SDK - с чем едят и как бороться?   
    Delphi никакого отношения к вашим SDK/NDK не имеет, она использует то что вы установили/ настроили.
    и даже предлагает установить кое-что, с чем точно умеет работать
    Я начиная с XE5 просто ставил Android Studio и SDK / NDK, чтобы иметь возможность контролировать что где у меня стоит, и не лазить по папкам с путем длиной 2000 знаков.
    Просто без AS нет SDK manager, и настройки делать неудобно. 
    Потом выбираем те версии, которые нужны. (запоминаем, что там Delphi хотела поставить) и прописываем пути в настройках delphi
    К последним версиям это стало работать практически в один клик.
    Выбирать, какие устройства видны или нет, тоже делфи ни при чем. Она все делает через ADB. Если ADB не видит девайс, то ни одна другая программа не увидит тоже. Для решения этой проблемы тоже есть тема на форуме, где правится sys - файл с описаниями доступных VendorId / ProductId в стандартном драйвере Googel ADB
  21. Like
    krapotkin получил реакцию от Ingalime в Онлайн-курсы   
    по первому вопросу все очень просто. к бд мобильное приложение не должно подключаться
    делайте веб-сервер, а к нему подключайтесь через THttpClient
    2 и 3 ответы вам не понравятся))
    камера работает стремно, и никогда не будет работать как в обычных приложениях. но при большом желании можно просто посмотреть в демо-примерах это есть
    а NFC и вообще все, чего не хватает, обычно можно прикупить тут https://www.winsoft.sk/products.htm
  22. Like
    krapotkin получил реакцию от Ingalime в Переход 10.3.3 -> 10.4.1   
    несколько странно выглядит код
    response = get(); if (...) then Synchronize(...   response := nil;) а если else, то что с response ?
    10.4.4 Win64/Win32
    тестовый код
    procedure TForm1.btn1Click(Sender: TObject); begin   ttask.Run(     procedure       var         http: THTTPClient;         resp: IHTTPResponse;     begin       http := THTTPClient.Create;       resp := http.Get('http://www.google.com');       TThread.Synchronize(nil,       procedure       begin         m1.Lines.Text := resp.ContentAsString();       end       );       http.Free;     end     ); end; утечек не нашел
    если поставить breakpoint на http.free то в отладчике вызовы IntfClear видны. так что не все так однозначно, как любят говорить в некоторых местах)
  23. Like
    krapotkin получил реакцию от Ingalime в С++Build 10.3 CE. Win10 и Android. Ведение графика работы.   
    неправильный вопрос. кто ж вам подскажет, как делать, если это ваше ТЗ.
    сначала надо придумать картинку, вам самостоятельно.
    можно взять за основу другие программы, посмотреть, как там сделано
    а грид заполнить и клики в нем обработать - дело нехитрое
    и напрягает наличие "администратора" 
    в локальной версии никакого администратора нет ессн
    а в сетевой - нет связи с БД, надо делать промежуточный веб-сервер или пользоваться готовыми типа Firebase
     
  24. Like
    krapotkin получил реакцию от Razmir в JSON на андроид ошибка   
    на всякий случай, не нужно никаких UTF8ToString
    var st: TStringStream; ... st := TStringStream.Create('', TEncoding.UTF8); http.Get(URL, st); m1.lines.text := st.DataString;  
  25. Thanks
    krapotkin получил реакцию от Aleks133 в Работа с БД в класс   
    Хорошей практикой является следующая концепция.
    Есть модель данных (МД) - набор классов, описывающий все, что происходит в вашей программе, и хранящий все нужные данные. 
    А есть отдельный модуль, который отвечает за загрузку и сохранение этой МД. В нем класс-"загрузчик". Чтобы вам было удобнее, можно в качестве такого модуля сделать Datamodule, в котором будут все нужные все компоненты и методы.
    При этом становится не суть важно, откуда идет загрузка, хоть из интернета, хоть из БД.
    Вопросов с выделением этих процессов в отдельные потоки не будет, только нужно помнить только одно - один поток - один Datamodule. Т.е. создавать их надо динамически.
    создали объект модели данных, создали datamodule, вызвали некий метод для загрузки данных в объект. 
    Хорошим тоном будет не создавать/уничтожать Datamodule каждый раз заново, потому что процесс подключения к БД довольно длительный по сравнению с простым запросом в БД. Поэтому можно создать какой-то пул(массив, список) уже созданных DM  и брать одну штуку из него для совершения операции, и возвращать обратно по ее окончанию.
    Получается, что каждый поток будет иметь свой Datamodule и следовательно свой FDConnection и свой FDQuery для каждой операции.
    Надеюсь, я ответил на ваш вопрос
×
×
  • Создать...