-
Постов
104 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Активность репутации
-
Alex Bozhko отреагировална OnePeople в Монополия
Делал чисто для себя! И только для своего удовольствия!
Возможны ошибки!*(вернее точно есть)))
Графика не окончательная!
Скриншоты сервер:
Скриншоты клиент:
Сервер на комп, клиент Android (должны находиться в одной сети)
P/S И так как все устройства у меня Full HD, проверял только на них(
Monopoly.rar
-
Alex Bozhko отреагировална gonzales в Переезд на 10.3 Rio
Есть подозрение, что в 10.3. перестала работать функция Application.ProcessMessages. В 10.1 для Андроид она прекрасно работала, а теперь, как будто ее нет. Формы не перерисовываются, вовремя не отображаются те или иные вещи. На что можно заменить ее. Пример такой, создаю форму в рантайме и показываю ее пользователю.
Application.CreateForm(TForm27, Form27); Form27.ProgressBar1.Visible := false; Form27.StartUpLabel.Text := 'Ждите...'; Form27.Visible := true; Application.ProcessMessages; На андроид в 10.3. форму не вижу, хотя остальной код отрабатывает.
-
Alex Bozhko отреагировална Евгений Корепов в PUSH и Android8
Вроде все работает. Разрешений не нужно никаких вообще. До этого ошибочно требовало доступ к учетной записи - пофиксили.
Код вроде остался прежним, вот кусок из живого проекта:
procedure TFormMain.InitPushService; begin TTask.Run( procedure Var ADeviceID, ADeviceToken : String; begin FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM); FPushService.AppProps[TPushService.TAppPropNames.GCMAppID] := ConstGCMAppID; if Assigned(FPushService) then begin FPushServiceConnection := TPushServiceConnection.Create(FPushService); FPushServiceConnection.OnChange := OnPushServiceConnectionChange; FPushServiceConnection.OnReceiveNotification := OnReceivePushNotificationEvent; FPushServiceConnection.Active := True; ADeviceID := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID]; ADeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken]; FSettings.Flags.PushServiceInited:=True; TThread.Synchronize(TThread.CurrentThread, procedure () begin FNetwork.DeviceID:=ADeviceID; FNetwork.DeviceToken:=ADeviceToken; FNetwork.SendFCMRegistration(); // ?????????????????????????????? Log('DeviceID: ' + FNetwork.DeviceID); Log('DeviceToken: ' + FNetwork.DeviceToken); end); end; end ); end; procedure TFormMain.OnPushServiceConnectionChange(Sender: TObject; AChange: TPushService.TChanges); begin TThread.Synchronize(TThread.CurrentThread, procedure () begin if TPushService.TChange.DeviceToken in AChange then begin if Assigned(FNetwork) then begin FNetwork.DeviceID := FPushService.DeviceIDValue[TPushService.TDeviceIDNames.DeviceID]; FNetwork.DeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken]; Log('DeviceID: ' + FNetwork.DeviceID); Log('DeviceToken: ' + FNetwork.DeviceToken); FNetwork.SendFCMRegistration(); end; end; end ); end; procedure TFormMain.OnReceivePushNotificationEvent(Sender: TObject; const ANotification: TPushServiceNotification); var AMessageSection : String; begin if Assigned(ANotification.Json) then begin Log('Push Message Json'); Log(ANotification.Json.ToString); if ANotification.Json.TryGetValue('message_section', AMessageSection) then begin if AMessageSection.Equals('support') then SetActiveTab(ConstSectionSupport); if AMessageSection.Equals('news') then SetActiveTab(ConstSectionNews); if AMessageSection.Equals('info') then SetActiveTab(ConstSectionInfo); if AMessageSection.Equals('services') then SetActiveTab(ConstSectionServices); end else if FSettings.CurrentSection <> ConstSectionSupport then SetActiveTab(ConstSectionSupport) else WebBrowserCallJS(TCallJS.SupportLoadContent); PlaySoundEffects(1); end; end; procedure TFormMain.CheckStartupNotifications(); var CurNotification : TPushServiceNotification; begin if Length(FPushService.StartupNotifications) > 0 then for CurNotification in FPushService.StartupNotifications do if Assigned(CurNotification) then OnReceivePushNotificationEvent(Self, CurNotification); NotificationCenter.CancelAll; end; Метод FNetwork.SendFCMRegistration() отсылает регистрацию на мой сервер. В методе проверяется получение регистрации и факт отсылки (он может вызываться несколько раз у меня)
-
Alex Bozhko получил реакцию от Ingalime в Какой элемент можно использовать для создания списка новостей как например в приложении ВКонтакте?
TListView
-
Alex Bozhko отреагировална dmokrushin123 в Отправка пуша из консоли firebase
Это вопрос только Android и из-за того что используется совместно FCM и GCM.
Необходимо продублировать заголовок и сообщение в пользовательские данные:
message - мое сообщение title - мой заголовок -
Alex Bozhko отреагировална Akad в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
А есть какие-нибудь демки? Главное, что бы хеловорд apk не весил 5-10Мб и не тормозил на старых аппаратах безбожно, как FMX. И что с сервисами под андроид?
-
Alex Bozhko отреагировална Brovin Yaroslav в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
FGX Native полностью независимый от FMX фреймворк на мобильных платформах. Однако, все невизуальные компоненты будут доступны (уведомления, работа с БД, REST API и тд). Прежде всего это сделано, поскольку архитектура FMX не рассчитана для производительной работы с нативными контролами. Под этим я подразумеваю ряд взаимодействий с системой, которые жестко сидят в ядре FMX (работа с текстом, система событий OnMouseXXX, принцип отрисовки, завязка на старое API и многое другое). Помимо этого, разработка мобильного приложения кардинально отличается от разработки приложения для настольных платформ из-за разных подходов к проектированию интерфейсов и заканчивая принципиально разными и специфичными компонентами.
Кстати, первая экспериментальная версия FGX Native (которая так и осталась не опубликованной) была построена мною на базе FMX. Однако эксперименты на практике показали, что такой подход тупиковый и ведет к значительному усложнению системы без адекватной выгоды для пользователей. А большая зависимость от FMX является для меня потенциальным риском быть связанным по рукам от ошибок. Поэтому было принято решение сделать FGX Native полностью независимым. За год работы была реализована (и продолжает реализовываться) платформа и совершенно новый и дизайнер форм с нуля. Это дает мне большую гибкость в расширение функционала, как самой библиотеки, так и дизайнера. Имея свой дизайнер, я могу реализовать любую идею, которая повысит удобство пользователя при работе с библиотекой.
А вообще это тема интересная и я постараюсь немного рассказать про это на вебинаре.
Частично информация освещается на официальном телеграмм канале https://t.me/cross_delphi, где я с недавнего времени стал публиковать процесс текущий разработок по библиотеке.
-
Alex Bozhko отреагировална haword в [Андроид]не видно картинки
в делфи делается так -
li:= lv.Items.Add;
lii:=li.Objects.FindObjectT<TListItemImage>('Image');
lii.OwnsBitmap:=True;
далее можно грузить картинку, если в потоке то
TThread.Synchronize(TThread.CurrentThread, procedure()
begin
// присваивание битмапу картинки
lii.Bitmap:= TBitmap.Create;
lii.Bitmap.SetSize(ItemBitmap.Width, ItemBitmap.Height);
lii.Bitmap.Clear(TAlphaColors.Null);
lii.Bitmap.CopyFromBitmap(ItemBitmap);
end
);
-
Alex Bozhko отреагировална FeLDMARShaL в [FGX] Будет ли релиз FGX под Tokyo?
Будет ли реализованна поддержка новой версии Delphi?
Ну и любимый вопрос для разработчика ... хотя бы примерные сроки, ну или хотя бы на како этапе сейчас развитие проекта?
-
Alex Bozhko отреагировална Andrey Efimov в XE10.2 Tokyo есть запись вебинара от 28.03.2017?
Запись вебинара
-
Alex Bozhko получил реакцию от Andrey Efimov в Одинаковые логотипы и картинки
Публиковали три редакции одного приложения. Одинаковым было всё, кроме описания. Проблем не было вообще.
-
Alex Bozhko получил реакцию от Kitty в Одинаковые логотипы и картинки
Публиковали три редакции одного приложения. Одинаковым было всё, кроме описания. Проблем не было вообще.
-
Alex Bozhko отреагировална Равиль Зарипов (ZuBy) в [Статья] Онлайн-сервисы в помощь разработчику по дизайну
Ссылка: http://blog.rzaripov.kz/2017/01/blog-post.html
Автор: Зарипов Равиль @ZuBy
Описание: Онлайн-сервисы в помощь разработчику по дизайну
-
Alex Bozhko отреагировална haword в Перспективы RAD
не в сиетле не в берлине не нормлаьного DBGrid. да сторонние смотрел, tms, других то нет. хотя есть один, работающий с tdatasource но он глючный. да и когда я пробывал был xe7 и мало что вообще было под fmx. кстати берлин еще не поставил.
я про что говорю - про совместимость компонентов vcl и fmx а не про полную замену их логики работы.
нету там ничего такого. можно запросто. я уже пытался портитровать dbgrid, работало, но вылезла проблема в скорости прорисовки ячеек грида. думаю обычные контролы типа эдитов чекбосов да лейблов будут пахать без проблем.
-
Alex Bozhko получил реакцию от Rusland в Перспективы RAD
Вставлю свои пять копеек.
Про изначально не понравилось в FireMonkey...
Да, действительно, сначала было как у классика - "Да ты же, парень, прыгаешь в длину!" Т. е. брал Андроид и лепил десктопное приложение под него. Потом пришло понимание того, что так делать не надо. Взял тот же Андроид и начал смотреть, а как же там сделан GUI. После этого как-то отпала необходимость в гридах и прочих прелестях VCL. а вот не нравится то, что LiveBinding использовать невозможно. в принципе. Т. е. сейчас я ручками заполняю контролы из датасетов, и опять же ручками обрабатываю. Не сложно, но долго. Даже возникла идея, а не вооружиться ли старыми мануалами и не написать ли свои db-aware контролы. Отсюда сразу вопрос, нет ли каких-то принципиальных ограничений для этого? Почему пока есть только одна реализация чего-то подобного, которая нереальных денег стоит.
Вторая вещь, которая мне не нравится, скорее организационная. Отсутствие преемственности кода. Вот ни разу не удалось запустить приложение, собранное на предыдущей версии FM без каких-либо правок. ну, да ладно.
Потом я немного полистал литературу по Android Studio. И вот теперь задумался. Ведь FM приложения они по архитектуре несколько отличаются... А действительно, можно ли на FM написать всё то, что можно сделать в той же Андроид Студии? ну, пусть не сейчас, пусть в перспективе. Т.е. возможно ли это в принципе? Или это жертва, которую придётся приносить на алтарь кросс-платформенности?
-
Alex Bozhko получил реакцию от AngryOwl в Перспективы RAD
Вставлю свои пять копеек.
Про изначально не понравилось в FireMonkey...
Да, действительно, сначала было как у классика - "Да ты же, парень, прыгаешь в длину!" Т. е. брал Андроид и лепил десктопное приложение под него. Потом пришло понимание того, что так делать не надо. Взял тот же Андроид и начал смотреть, а как же там сделан GUI. После этого как-то отпала необходимость в гридах и прочих прелестях VCL. а вот не нравится то, что LiveBinding использовать невозможно. в принципе. Т. е. сейчас я ручками заполняю контролы из датасетов, и опять же ручками обрабатываю. Не сложно, но долго. Даже возникла идея, а не вооружиться ли старыми мануалами и не написать ли свои db-aware контролы. Отсюда сразу вопрос, нет ли каких-то принципиальных ограничений для этого? Почему пока есть только одна реализация чего-то подобного, которая нереальных денег стоит.
Вторая вещь, которая мне не нравится, скорее организационная. Отсутствие преемственности кода. Вот ни разу не удалось запустить приложение, собранное на предыдущей версии FM без каких-либо правок. ну, да ладно.
Потом я немного полистал литературу по Android Studio. И вот теперь задумался. Ведь FM приложения они по архитектуре несколько отличаются... А действительно, можно ли на FM написать всё то, что можно сделать в той же Андроид Студии? ну, пусть не сейчас, пусть в перспективе. Т.е. возможно ли это в принципе? Или это жертва, которую придётся приносить на алтарь кросс-платформенности?
-
Alex Bozhko отреагировална rareMax в Перспективы RAD
Кто-то ждет что делфи "оживет", а кто-то пишет на ней и радуется жизни.
-
Alex Bozhko отреагировална Error в Сходка в Питере
По первому фото слева на право:
@kami @Brovin Yaroslav @RoschinSpb @Error
-
Alex Bozhko отреагировална ElenaS. в С новым кодом!
Друзья! Fast Reports и я лично поздравляем вас с наступающими праздниками!
Искреннейше желаем вам безбажного года и интересных проектов!
А еще, в связи с праздниками у нас скидка на ВСЕ продукты аж 50% вот здесь! С нетерпением ждем вас в стройных рядах наших кастомеров!
Напоминаю, что если вы испытываете трудности в работе с нашими компонентами - мы будем рады помочь вам на страницах форума!
Команда FR
-
Alex Bozhko получил реакцию от AngryOwl в Перспективы RAD
Если компанию собираются продавать, то обычно увеличивают её капитализацию. а самый простой способ это сделать - набрать побольше сотрудников. Так что нет, не думаю. Да и банально кому нужен продукт без разрабов.
-
Alex Bozhko отреагировална ASovtsov в Перспективы RAD
Коллеги,
Приглашаю всех прийти на ближайший вебинар по RAD Studio 10.1 Berlin Update 2 и задать там вопросы. Я оставлю больше времени для ответов, и мы сможем обсудить более подробно большинство из поднятых здесь тем.
-
Alex Bozhko отреагировална Brovin Yaroslav в Перспективы RAD
Я прокомментирую, но чуть попозже. Обязательно отвечу на все вопросы.
На самый главный вопрос на счет форума. Сразу отвечу, форум будет работать в любом случае.
-
Alex Bozhko отреагировална Kitty в Благодраность
Большое спасибо Ярославу, что находит время и фиксит проблемы, которые мы тут поднимаем. И курсы его великолепные!
Спасибо профессионалам, таким как ZuBy, который терпит наши глупые вопросы и помогает.
СПАСИБО!!!
-
Alex Bozhko отреагировална Pax Beach в Открытие окна настроек Wi-Fi, Способ определения координат
Сделал пример в одном проекте включения/выключения Wi-Fi, переход к настройкам местоположения и опрос статуса датчика location.
Качайте, кому нужно.
TestWifi.zip
-
Alex Bozhko отреагировална Andrey Efimov в Какие статьи вы хотели бы видеть в блогах?
Написал статейку по вашей теме [Google Play] Публикация приложения в Google Play