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

Станислав Менинник

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

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

  • Посещение

Весь контент Станислав Менинник

  1. Возникла проблема. Как открыть файл на редактирование, так что бы WPS/MS офис мог потом его сохранить в тот же файл ? Файл открывается из штатного проводника и сохраняется одним кликом. Но вызывая его из моей программы, WPS как бы не знает откуда он его открыл, и не может сохранить в 1 клик. Или как-то не так передаю файл программе или не хватает каких-то хедеров данных? LFile := TJFile.JavaClass.init(StringToJString(AFilePath)); Intent.setDataAndType(TAndroidHelper.JFileToJURI(LFile), ExtToMime); Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION); Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_WRITE_URI_PERMISSION);
  2. Не совсем верно поняли. Я имел ввиду, сам компонент браузер и есть источник данных. Общая схема такая: - загрузить в браузер текст - что то редактируем силами JS-редактора - забираем из браузера текст Столкнулся с еще проблемами: - вертикального скролбара внутри браузера нет вообще для редактируемого поля JS-редактора (под Андроидом, а под виндой есть) - JS не работает, если загрузить текст из строки, а не через Navigate. https://quality.embarcadero.com/browse/RSP-34243
  3. Может кто знает, в 10.4 под Андроид появилось решение, что бы просто получать содержимое страницы как текст (длинный текст)? Решил эту задачу через одно место (сокеты), бывает подвисает приложуха, но хотелось бы напрямую, без костылей.
  4. function iosUrl(const aURL: string): boolean; var NSU: NSUrl; begin NSU := TNSURL.Wrap(TNSURL.OCClass.URLWithString(StrToNSStr(aURL))); if SharedApplication.canOpenURL(NSU) then SharedApplication.openUrl(NSU); end; How open local file in iOS by default application? iOs 14.2
  5. Сам ищу хоть какой-то внятный мануал. Как рисовать красивые с градиентами границ и т.д. ?
  6. Нужны рамки с градиентами и все остальное. Это вообще возможно с TListView ? Данный компонент работает быстро и все такое, только вот базовый набор встроенных элементов (Текст, кнопка, картинка, ...) аппереанс очень скудный и максимально простой по дизайну, плюс всякие проблемы с настройкой в дизайнтайме (часть свойств только в коде можно настроить). Получается остается СтайлБук? Где можно что-то почитать про стайл бук вообще? И стоит оно того? Как Вы организуете красивый листаемый список?
  7. Может кому будет полезен опыт граблей. Я столкнулся с такой же проблемой. В динамически создаваемых фреймах (Несет нагрузку графического оформления для каждого элемента ListBox) был (забыт на форме) компонент GestureManager. Естественно он там не нужен.
  8. На дворе 10.4.1 версия, а Тримминг все так же не работает с переносом слов.
  9. Интересно. Я думал что нужно использовать DisposeOf , как написано в общей документации и тут на форуме. Оказывается его нельзя или очень вредно использовать! Нужно просто убивать все ссылки на объект. А free нужен для отладки под Виндой. Как дойдут руки, проверю на своем проекте.
  10. В ходе экспериментов, удалось выяснить, что проблема проявляется только при DropDownKind = native. Если включить кастом, то ошибок нет. Из чего делаю вывод: - что-то сломано внутри компонента, когда выпадающий список наполняешь значением + объект, что в дальнейшем приводит к ошибкам с памятью. - место которое затрагивает баг - передача списка значений для отображения (при DropDownKind = native). (Причем, если вместо DropDown, вывести самому список сообщением, то все элементы есть и ошибок не вызывает) п.с. Насчет .Free - он ничего не делает при ARC. И я что-то не встречал упоминаний, что создавая объекты их не нужно удалять за собой. Сами они не удаляются из памяти до смерти приложения.
  11. Среда последняя, иОС СДК последний. На форме один комбо-бокс. Для чистоты эксперимента, форма с комбо-боксом пересоздается каждый раз, после загрузки в него данных и отображения выпадающего списка. Загружаю в комбо-бокс объекты (JSONObject) обычным способом. for FJSONValue in FJSONArray do Acb.Items.AddObject( (FJSONValue as TJSONObject).GetValue( 'name' ).Value, TObject( FJSONValue.Clone ) ); Так же при очистке, за собой удаляю объекты из комбо-бокса. for index := 0 to Acb.Items.Count - 1 do if Acb.Items.Objects[index] <> nil then begin Acb.Items.Objects[index].DisposeOf; Acb.Items.Objects[index]:= nil; end; Acb.Items.Clear; На 2-3 круге, после загрузки содержимого в комбо-бокс, при вызове DropDown (программно или через GUI тапом/кликом) приложение падает. Редко получаю ошибку на класс TCustomComboBox в методе function TCustomComboBox.GetItems: TStrings; begin Result := FListBox.Items; end; Что я делаю не так? Я неправильно чищу память за собой? Неправильно добавляю объект? Почему оно падает при попытке вызвать сам выпадающий список? На Win10 и андроид работает без проблем.
  12. Нашел ответ, может кому понадобится. VertScrollBox1.AniCalculations.TouchTracking := []; На функцию не перекрытия клавиатурой поля ввода не влияет, для чего он и используется.
  13. Может кому пригодится при переходе. В новом файле info.plist.TemplateiOS.xml добавилась еще одна строчка <%StoryboardInfoPListKey%>
  14. Up. Из коробки ничего нет. А это базовая функция, которая должна быть.
  15. Я все еще не смог разобраться с глюком увеличенного масштаба. Пока не проверял, но есть идея выкинуть скрол бокс, и все засунуть в лист бокс. Единственное не понятно, клавиатура в iOS будет сама сдвигать приложение или будет как под Андроидом, перекрывать поля ввода.
×
×
  • Создать...