krapotkin
-
Постов
2 184 -
Зарегистрирован
-
Посещение
-
Победитель дней
209
Сообщения, опубликованные krapotkin
-
-
я могу попробовать реализовать идею "разделенного" tabcontrol и контейнера
контейнер сделать по образцу Image Gallery
единственное, не удастся сделать сам TabControl как в андроиде, где полоска, подчеркивающая таб так же плавно перемещается под табами
-
эмм
вопрос из разных имхо несвязанных областей
если в качестве свойства объект, то он тоже сериализуется
сериализация - это просто запись свойств объекта в строку, чтобы по этой строке можно было построить точно такой же объект
а создание объекта в момент обращения к нему - это техника, позволяющая отложить некоторые работы на момент, когда они действительно нужны
если строить объект на принимающей стороне, то техника отложенного создания не может быть применена, т.к. строка единая и хранить ее, а потом вычленять из нее свойства одного внутреннего объекта - это лишний геморрой
-
пример рабочего сервера, я конечно не смогу скинуть, но pawel glowacki отличную серию сделал в свое время
-
с одной стороны, ответ - да
Datasnap позволяет передавать объекты
работает механизм маршаллинга - объект сериализуется, превращается в JSON строку, на одном конце, и обратно создается на другом.
но, если структура объекта хоть чуть-чуть сложна, например, объект содержит TObjectList из других объектов, на автомате это уже не работает, хотя должно бы. (на XE7 было так, 8-не проверял)
поэтому я в свое время принял решение делать то же самое самостоятельно
мой объект сам умеет себя сериализовать/десериализовать, а к передаче предъявляется строка.
либо, для тяжелых объектов - Stream
-
спасибо за код.
а пожелание это все вставить в Sensor.State остается разработчикам ...
-
Прицепился к LocationSensor.OnStateChanged. Хотел получать статус GPS на телефоне.
По другим событиям тоже проверяю состояние LocationSensor.Sensor.State
StateChanged, видимо, не вызывается, State всегда Ready независимо, включен GPS или нет
Это стандартное поведение?
-
в разборе работ конкурса Emro писали, что именно над этой фичей они долго бились ))
рискну предположить, что фреймы отдельно - табконтрол-отдельно
-
Дополнение
Если добавляли маркеры и т.д. на MapView, ссылки на них нужно хранить, чтобы уничтожить
Если я правильно понял, то дело опять в ARC, и, если мы не сохраняем результат функции
Map1.AddMarker(markerDescription)
RefCount маркера все равно увеличивается
так что
marker:=Map1.AddMarker(markerDescription); ... marker:=NIL;
-
подтверждаю, нашел методом тыка точно такой же способ
на форме только TMapView, это не главная форма приложения.
открываю форму, нажимаю back, либо любым способом делаю Close, DisposeOf и т.д.вываливается вот с таким стеком
-
-
да, это я сделал через OnKeyUp
-
Подведу итог
После всех изысканий выяснилось, что не все
йогуртыклавиатуры одинаково полезны.Стандартная клава Google все делает правильно, свайп тоже
Косяк KeyboardType проявлялся только на моей предустановленной в телефоне клавиатуре
Остальные выявленные проблемы - более стойкие и не зависят от клавиатуры.
Благодарю всех за участие и помощь
-
спасибо за ответы, но
этот метод (спрятать/показать клавиатуру) я перед этим уже испробовал сам
нужного эффекта по-прежнему нет...
вообще чертовщина.
если KeyboardType = alphabet то у Edit есть KeyDown и KeyUp
если KeyboardType = numpad то только KeyDown, в KeyUp она уже не приходит
при этом сама клава, есс-но, остается как была alpha
Если в Edit1.OnKeyDown сделать Edit2.SetFocus, то срабатывает Edit2.OnKeyDown, даже если Key:=0 !!!!
O_O
-
пришлось еще одну панель чисто для рамочки накинуть...
итог
-
ок,
т.е. нужно найти стек, который создается в FMX
он же есть?
форму я создаю TMyForm.Create(NIL).Show
в OnClose стоит Action:=caFree,
т.е. по идее, она должна разрушиться при показе следующей формы
но back приводит к ней, значит создается заново
-
-
You can implement this from your AndroidManifest.xml file, just adding[android:noHistory=true] attribute in those <activity> you want.
выглядит более простым, правда же?
вот и хочу найти, как это сделать
-
чтобы нарисовать бэк, надо его иметь, а на руках его нет, он в StyleBook зашит, а у панели нет стиля с этим бэком...
если убрать r2 то
1) если panel.parent = form то панель становится вообще прозрачной,
2) если panel.parent = r1 такой же полупрозрачной как r1оба варианта делают форму неюзабельной, сквозь едиты торчит нижняя форма )))
-
это тот же костыль - и требует он формирования явного дерева состояний и перехвата и переопределения системных кнопок во всех формах
в Android уже есть эта функциональность, нужно только узнать, как ей воспользоваться
-
в первом посте видно, какой должен быть бакграунд у формы
у этой псевдо-формы его нет
-
и делать Close в FormShow
совсем плохой костыль
-
-
щастья по-прежнему нет
r2 - черный полупрозрачный Align=Client
r1 - черный непрозрачный Align=Center
в r1 вставлена панель, но Background картинка, которая бы имитировала диалоговую форму, отсутствует, т.е. панель по сути получилась прозрачной
так что результат в принципе похож, но квест не пройден )))
-
кнопки получены друг из друга с помощью Ctrl+C Ctrl+V )))
расследование показало, что высота увеличилась из-за малых отступов от текста до края кнопки
сделал пошире - теперь одинаковые
но вот ни разу не очевидно ))))
поместить все контролы на Layout,имеется в виду идея - форма на весь экран, но невидимая, а layout в центре имитирует диалог?
Трехзвенка и объекты
в Консультации
Опубликовано
там есть проблема схожая с проблемой ARC
если один объект хранит ссылку на другой объект, то варианта два - либо он им владеет, и нужно встроенный объект передавать вместе с родителем, либо это просто ссылка на объект из к-нибудь например справочника.
тут только разработчик может правильно построить модель сериализации/десериализации объектов
особенно если объектов несколько и ссылки желательно на другом конце как-то восстановить.
а еще лучше постараться не доводить тонкого клиента до такой нужды )))