DMS
-
Постов
171 -
Зарегистрирован
-
Посещение
Активность репутации
-
DMS получил реакцию от Rusland в Что невозможно сделать на Delphi для Android?
И куда? Пробовал и IDEA, и Eclipse, и Android Studio. Работа в Delphi - самая комфортная.
-
DMS отреагировална ENERGY в [Android] Есть ли разница под каким SDK собрано приложение
Желательно выбирать тот SDK, который советует EMBT т.к. он протестирован = более стабильная программа (прога все равно будет прекрасно работать под последним Android 8). Плюс еще новый SDK сам по себе может быть сырой.
Но скоро нам всем придется делать с последними SDK :
Starting in late-2018, all new and updated apps will be required to target an SDK that is no more than 1 year older than the current codename release.
https://www.androidpolice.com/2017/12/19/play-store-require-new-updated-apps-target-recent-api-levels-distribute-native-apps-64-bit-support/
-
DMS получил реакцию от #WAMACO в Что невозможно сделать на Delphi для Android?
Это существенный минус, из-за которого AS нельзя даже относить к RAD-средствам
-
DMS отреагировална FREEFAR в Что невозможно сделать на Delphi для Android?
Нет. обычный Rectangle + Fill.Color := 0; Stroke.Color := White;
-
DMS отреагировална FREEFAR в Вопрос по интерфейсу (в Андроид)
потому что я подозреваю что вопрос может содержать TText + Image *2 или 3. Может пару TRectangle с тенью или еще чего
-
-
DMS отреагировална FREEFAR в Запрос "опасных" разрешений в рантайме
Мы пошли путем другим. Мы все права спросили сразу после первого запуска. Пока вроде проблем нет. Одно мне не нравится мы просим права на статус телефона чтобы получить deviceID но он в диалоге пишет "Чтобы совершать звонки"... бред...
-
DMS отреагировална Andrey Efimov в Запрос "опасных" разрешений в рантайме
Добавляем метод onRequestPermissionsResult в приложение
-
DMS отреагировална Yarpda в TListView: последовательная загрузка айтемов под Андроидом
Вот здесь например есть пример решения, там же есть ссылка на проект (это ModernLV. http://blog.rzaripov.kz/2016/11/0-modernlistview.html), но думаю что и из стандартного LV можно тоже самое добиться при желании. Тут конечно проще.
-
DMS отреагировална Yarpda в TListView: последовательная загрузка айтемов под Андроидом
По-моему тут все просто. Грузим приемлемое количество, смотрим на каком месте скрола пользователь, если близко к концу добавляем еще несколько LV.AddObject(LVItem) и так до бесконечности...
-
DMS отреагировална sinuke в Возможно ли сделать такой интерфейс с ЛистВью?
Ну вот набросал примерчик. Он упрощенный, но смысл такой же примерно (код листвью со скриншота выше выложить не могу просто из-за того, что там идут зависимости от модели данных).
Лично я все рисую кодом - так полный контроль того, что выводится на экран. И собственно так можно выводить практически что угодно. И не нужны никакие монструозные ТМС компоненты
ListView_Schedule_Sample.zip
-
DMS отреагировална POV в Возможно ли сделать такой интерфейс с ЛистВью?
Для любителей триальщины советую TMS - у них очень хорошие (дял винды точно, на мобильном не пробовал) компоненты. С документацией.
-
DMS отреагировална sinuke в Возможно ли сделать такой интерфейс с ЛистВью?
да, легко
вот мое расписание в листвью
-
DMS отреагировална sinuke в XSuperObject
не знаю как с null'ом, но вот MemberView - это массив (в квадратных же скобках). тут проще. что-то типа такого:
var MemView: ISuperArray; myJSON: ISuperObject; ... myJSON := SO('сюда загоняем json'); MemView := myJSON.A['MemberView']; if MemView.Length = 0 then {Пустой массив} П.С. глянул то, как можно проверить на null, вышло следующее (вроде работает):
var x: ISuperObject; begin x := SO('{"value":null}'); if x.Null['value'] = jNull then ShowMessage('null') else ShowMessage(x.I['value'].ToString) end;
-
DMS отреагировална krapotkin в TWebBrowser вместо кучи TEdit
если прямо много всего, то проще сделать "фреймворк"
описание заводим, а едиты, валидация и загрузка-выгрузка данных создаются динамически
-
DMS отреагировална kami в TWebBrowser вместо кучи TEdit
В общем случае обратная связь "браузер - приложение" не предусмотрена. Разве что вы будете сразу из веббраузера отправлять запрос на сервер. Но тогда - зачем вообще приложение, если можно всё сделать в веб ?
К примеру, в браузере - форма с кучей полей, отправляющая POST-запрос на сервер и редиректящая на какую-нибудь страницу. Приложение через OnBeforeNavigate (или_как_там_оно) видит это и запрашивает данные с сервера для своих "внутренностей".
-
DMS отреагировална Akad в List of new features and customer reported issues fixed in RAD Studio 10.2 Tokyo Release 3
Мда. Судя по списку ни одного реально важного исправления. Опять.
-
DMS отреагировална krapotkin в Application.ProcessMessages - плохой стиль?
да. видимо тут RealignContent на самом деле ничего не делает, а только ставит какой-то флаг, или посылает сообщение, которое после обработки выполняет наконец нужное действие.
при этом ProcessMessages это сообщение прокручивает, и это решает поставленную проблему, но порождает неверный порядок обработки сообщений
т.е. как обычно лекарство хуже болезни
-
DMS отреагировална krapotkin в Hint для Андроид
для полноценной подсказки и на windows и на android я в критических местах добавляю малую кнопку с вопросиком ))
-
DMS отреагировална Yarpda в Hint для Андроид
У меня был опыт реализации хинтов на андроид. Проблема вся в том что в нем нет мышки, а только нажатия. Вышел из проблемы (может быть не очень красиво но..) так: кнопки или другие элементы на форме, которым нужен хинт обрабатывают событие NoMouseEnter - выводим хинт куда нибудь (у меня используется простой Lable в лайауте поверх формы, так чтобы он не закрывался пальцем при наведении на элемент). После этого OnMouseExit - убираем lable с формы. Выходит так, что пока пользователь держит палец на элементе (не отпуская), выводится хинт, если убирает хинт пропадает. Проблема остается в том, что данное поведение (хинты) не типичны для андроид, поэтому пользователям нужно как-то нужно заранее объяснять, что им можно так делать, чтобы посмотреть что к чему. По идее конечно нужно делать программы так, чтобы пользователь не нуждался в хинтах, но безусловно бывают ситуации где они необходимы.
-
DMS отреагировална Brovin Yaroslav в TComboBox под Андроидом
Если используется режим DropDownKind = Native, то такой проблемы не должно быть. Выбор итема происходит в диалоговом окне с прокруткой.
-
DMS отреагировална krapotkin в Куча асинхронных потоков (Андроид)
сценарий
1. пока не вернется последний запрос (или вылетит таймаут) работать нельзя. поэтому запускаем анимацию, контролы дизейблим
2. запускаем нужное количество потоков с запросами на каждый комбобокс
3. при возвращении потока мы уже в главном потоке (например через OnTerminate) а) заполняем структуру с данными или сам комбо б) проверяем все ли потоки вернулись
если все вернулись - приводим страницу в рабочее состояние
если произошел таймаут - говорим, что не удалось
-
-
DMS отреагировална Tumaso в Куча асинхронных потоков (Андроид)
Асинхронность работает надежно даже в андроид
Вопрос в другом - каким образом вы будете непосредственно заполнять комбобоксы загруженными списками. тут либо с использованием synchronize либо через внутренние списки в потоках (откуда главный поток по готовности сам заполняет комбобоксы)
-