Tumaso
-
Постов
331 -
Зарегистрирован
-
Посещение
-
Победитель дней
39
Сообщения, опубликованные Tumaso
-
-
-
-
7 часов назад, Даутов сказал:
Если не бросать на форму TClientDataSet, то на моем эмуляторе остальное работает.
Проблема не в эмуляторе, а именно в TClientDataSet, может что-то не хватает в проекте
С чего вдруг это такой вывод?
Вы как минимум пытаетесь запустить на официально не поддерживаемой версии андроида, это во первых.
А во вторых, корректной работы любых эмуляторов в связке с приложениями на делфи уже давно нет.
В третьих, покажите логи крэша, как минимум будет видно, в какой именно момент происходит проблема.
-
Используй TNetHTTPClient вместо инди, проблема с ssl уйдет.
При использовании инди и указании https в URL например в виндах требуется две дополнительные dll-ки (libeay32.dll / ssleay32.dll), для андроида libcrypto.so / libssl.so и т.д. Поэтому проще перейти на TNetHTTPClient
-
-
3 минуты назад, Delpher-X сказал:
И кстати,
Код который изображен на картинке - нерабочий. В том смысле, что он вообще не компилируется. var и := в самом начале, подчеркиваются красным.
Также подчеркивается красным запятая в выражении RequestPermissions([WriteStorage],
и Granted в (AGrantResults[0] = TPermissionStatus.Granted)
потому что у вас старая версия делфи. Уточните, какая именно?
-
-
-
@slav_z так поставь виртуалку с Big Sur, необязательно же сразу на реальном железе тестить.
-
@Android а что, в лазарусе эти все важные компоненты есть что ли?
-
-
Я бы проверил, какой межстрочный разделитель в проблемном pas-файле...
-
9 часов назад, slav_z сказал:
а.. вот еще что: THTTPClient сам кодирует строку запроса, без всякой дополнительной фигни... очень хороший объект... реализованный просто замечательно...
Согласен, THTTPClient более удобен в использовании, чем Indy. Еще существенный плюс - поддержка ssl из коробки, не нужно ничего дополнительно ставить. У Indy на андроиде 6+ с этим проблемы
-
-
у меня в 10.4.1 sdk лежит в C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\AndroidSDK-2525-21.0.38860.1461 (так инсталлятор установил), соответственно всё лежит там, включая Android SDK Manager
в 10.3.3 sdk лежит в C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows
-
35 минут назад, igor111 сказал:
Krapotkin я ясно написал по вайфай программа работает а по мобильной сети не работает , причем здесь права на запись и версия андроид ?
а причем тут способ доступа к серверу FTP, если проблема в записи в локальный файл? Кто его знает, какой там у вас код записи.
UPD. Может быть проблема и не в записи, а в сетевом доступе. Под отладкой вообще запускали?
-
Без проверки на последний / можно обрезать так:
LPath := '/storage/emulated/0/Download'; ShowMessage(LPath.SubString(0, LPath.LastIndexOf('/')));
-
5 часов назад, Олег Киреев сказал:
Здравствуйте дайте пожалуйста ссылку на расшифровку "Copy(path,0,lastDelimiter('/',path)-1);"
С Уважением. Олег.
Ссылка .
-
-
-
7 часов назад, Slym сказал:
Нет. я свой статический адрес и порт прикрыл фаирволом и другим советую
А причем тут твой фаервол? Вопрос совсем о другом, о принципиальной возможности воспроизведения аудиопотока с указаного адреса/порта в FMX
Стандартный TMediaPlayer из FMX полное убожесто, не работает нормально даже в 10.4.1, поэтому про него можно забыть. Если еще кто то в него верит и надеется на чудо.
Теоретически это могут делать FFMPEG VCL (поддерживает и FMX) и Alcinoe -
1. если высота фрейма зависит от данных, то да, вычисляйте высоту
2. по расположению создаваемых фреймов друго под другом - самый простой вариант использовать свойство Align у фреймов (устанавить в Top), для этого размещайте создаваемые фреймы на общем контейнере для них (например на VertScrollBox)
условно говоря примерно так:
procedure TForm1.AddFrame(const AParent: TFmxObject; const AData: TFrameData); var LFrame: TMyFrame; begin LFrame := TMyFrame.Create(Self); // или nil, если в дальнейшем будете сами уничтожать фреймы LFrame.Parent := AParent; LFrame.Align := TAlignLayout.Top; LFrame.Data := AData; // этим кодом предполагается заполнение фрейма данными, при котором фрейм заполнит выводимые компоненты и настроит свою высоту end; procedure TForm1.FillFrames; var I: Integer; begin for I := 0 to Data.Count - 1 do AddFrame(vsbFrames, Data[I]); // vsbFrames - TVertScrollBox для размещения фреймов, Data - список данных для отображения, каждый элемент - данные для отдельного фрейма end;
-
-
Delphi 10.4.2 и ComboBox
в TComboBox
Опубликовано
А beginupdate / endupdate при заполнении combobox ты используешь?