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

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

  • Победитель дней

    390

Весь контент Brovin Yaroslav

  1. В дебаге вы не увидите разницы между Ansi кодировкой и UTF-8. Вам нужно убедиться, что в StrXML скорее всего юникод, а в XMLDocument1 скорее всего анси.
  2. Скорее всего ошибка в кодировке. Посмотрите, в компоненте нужно четко указывать кодировку поставляемого документа. И будет вам счастье.
  3. Hello Embarcadero Developer Community! As you all may know, we made a business decision to "end of life" our Upgrade SKU's on March 31st in an effort to simplify the purchasing process. The demand to extend this was frankly unexpectedly high. We listened and decided to extend the Upgrade SKU availability through April 30th. You do not have to rush and can enjoy the entire Holiday weekend. We know that with 10.2.3 out, and FMX now part of PRO, many will rush anyway. I personally can't wait to get many, many more Cool Apps... It is a good time to be a Delphi developer! Просмотр полной статьи
  4. If you’re a parent like I am, you understand the feeling of comfort in knowing where your children are at all times and that they are safe. Modern smartphone technologies have provided parents, spouses and others to track the whereabouts of loved ones, but our Cool App for February, WhereontheMap, has taken that capability to the next level. WhereontheMap -- based on Delphi -- is a simple, intuitive Android app that helps you keep an eye on your kids or helps companies support their fleet management systems. One of the cool things the developers of this app did was to use a mix of techniques to reduce power consumption so it doesn’t drain your phone battery like so many apps that run in the background. They utilize the accelerometers sensor which uses the least amount of current to detect motion of the device, and only when it detects motion the app turns on the more accurate localization sensor. WhereontheMap is a great example of how you can combine some of the turn-key features of Delphi to create a useful app. Click here to download the app on Google Play. This video shows Whereonthemap in action: [YoutubeButton url='https://www.youtube.com/watch?v=UM0xjZ7dfeg'] Interested in submitting for the Embarcadero’s Cool App contest? It’s open to any business or consumer application built with RAD Studio, Delphi or C++Builder. Embarcadero awards Cool App contest winners a $500 Amazon gift card and winning submissions are also highlighted on the company’s YouTube channel. For more information on the contest and a link to the submission form, click here. Просмотр полной статьи
  5. Распространение будет по подписке. Цена вначале релиза будет не большой и будет зависеть от того, что вошло в библиотеку в первую версию и что она позволяет делать. Порядок цены пока не могу назвать. Я вижу в подписке хороший потенциал для сопровождения и частого релизного цикла. Перед тем, как начинать делать компоненты я долго сравнивал апи VCL и FMX и пришел к выводу, что однозначно сохранить совместимость не получиться. Уж больно много методов, которые специфичны для мобильных платформ и работа с ними. Но стараюсь, удачные наименования методов использовать и у меня. Смотрю и сравниваю апи VCL, FMX, Android и iOS и стараюсь выбрать наиболее удачные моменты.
  6. FGX Native полностью независимый от FMX фреймворк на мобильных платформах. Однако, все невизуальные компоненты будут доступны (уведомления, работа с БД, REST API и тд). Прежде всего это сделано, поскольку архитектура FMX не рассчитана для производительной работы с нативными контролами. Под этим я подразумеваю ряд взаимодействий с системой, которые жестко сидят в ядре FMX (работа с текстом, система событий OnMouseXXX, принцип отрисовки, завязка на старое API и многое другое). Помимо этого, разработка мобильного приложения кардинально отличается от разработки приложения для настольных платформ из-за разных подходов к проектированию интерфейсов и заканчивая принципиально разными и специфичными компонентами. Кстати, первая экспериментальная версия FGX Native (которая так и осталась не опубликованной) была построена мною на базе FMX. Однако эксперименты на практике показали, что такой подход тупиковый и ведет к значительному усложнению системы без адекватной выгоды для пользователей. А большая зависимость от FMX является для меня потенциальным риском быть связанным по рукам от ошибок. Поэтому было принято решение сделать FGX Native полностью независимым. За год работы была реализована (и продолжает реализовываться) платформа и совершенно новый и дизайнер форм с нуля. Это дает мне большую гибкость в расширение функционала, как самой библиотеки, так и дизайнера. Имея свой дизайнер, я могу реализовать любую идею, которая повысит удобство пользователя при работе с библиотекой. А вообще это тема интересная и я постараюсь немного рассказать про это на вебинаре. Частично информация освещается на официальном телеграмм канале https://t.me/cross_delphi, где я с недавнего времени стал публиковать процесс текущий разработок по библиотеке.
  7. Добрый день, Пока только в Делфи. Но в будущем планирую добавить поддержку Builder C++.
  8. Тема: FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi Дата и время: 27 марта 2018 года в 12:00 Участники: @Brovin Yaroslav, Андрей Совцов Регистрация: ссылка Ссылка на официальный телеграмм канал: https://t.me/fgx_native Участие бесплатное На вебинаре познакомимся с текущей разработкой новой кроссплатформенной платформы, позволяющей создавать нативные приложения с быстрым откликом, плавной анимацией, продвинутой системой выраванивания, поддержкой RTL языков, оптимизированной работой с изображениями, быстрой канвой и многим другим. RAD Studio, Android/iOS В вебинаре принимает участие автор разработки Ярослав Бровин
  9. Нет, это обычный скролл бокс с примененным другим стилем. В котором скроллбокс имеет не прозрачный фон и границу.
  10. Для режима DropDownKind = TDropDownKind.Native TComboBox берет только текст от итемов. Поэтому, если вам нужны иконки и возможность пользоваться всеми свойства TListBoxItem, переключите режим на: ComboBox1.DropDownKind := TDropDownKind.Custom
  11. Прочитать всю новость целиком на сайте Embarcadero
  12. Прочитать всю новость целиком на сайте Embarcadero
  13. Никак, компилятор поддерживает только armv7.
  14. Brovin Yaroslav

    EJNIException

    В настройках проекта для андроида:
  15. As more small and home businesses continue to enter the marketplace, point of sale (POS) technologies have become a critical part of modern economy. I’m excited to report that one of the real innovators in this market, BeePOS, is the winner of Embarcadero’s Cool App contest for January. The industry buzz around this company has been tremendous (obligatory bee reference, check!), and we’re fully anticipating their adoption numbers to grow dramatically over the coming months. BeePOS -- based on Delphi -- is a fully integrated, intuitive POS software that can be used for restaurants, bars and the hospitality industry. It’s flexibility allows retailers to use the software for front-end or backend POS, in multiple or single stores and on Windows, iOS, Android and macOS platforms. I’ve seen a number of line-of-business applications like POS systems choose Delphi, which is an ideal solution because of the rapid application development model, first class database support and easy application maintenance. BeePOS is a great example of this with its customizable reporting system and sophisticated configuration. Using DataSnap to broker the data from the backend database to the client application creates a flexible and lightweight system. This video shows BeePOS in action: [YoutubeButton url='https://youtu.be/cAfhVXCf7rs'] Interested in submitting for the Embarcadero’s Cool App contest? It’s open to any business or consumer application built with RAD Studio, Delphi or C++Builder. Embarcadero awards Cool App contest winners a $500 Amazon gift card and winning submissions are also highlighted on the company’s YouTube channel. For more information on the contest and a link to the submission form, click here. Просмотр полной статьи
  16. Может потому, что ваш TImage лежит на панеле?
  17. Помимо регистрации компонента на палитре компонентов через ComponentRegister, нужно как минимум зарегистрировать класс в RTL. Чтобы при десерилизации класса нового компонента из строкового названия можно было найти сам класс. Для этого в FMX есть в секции инициализации вызов метода регистрации классов. Иначе в противном случае, при открытии формы с вашим компонентом, форма просто не откроется. На счет дизайнера сложнее. Так как эти итем аппирансы появляются не сами по себе, а именно при помощи кастомного дизайнера, который зарегистрирован для класса TListView. Поэтому для своего класса естественно этого дизайнера нет.
  18. Тем более. Забудьте про эффекты на мобильных платформах. Они очень ресурсоемкие.
  19. Brovin Yaroslav

    Linux платформа

    Из коробки Linux работает только для консольных приложений без GUI. Если хочется, чтобы FMX приложение можно было запускать на Linux, то нужно купить дополнительно стороннюю либу: http://www.fmxlinux.com
  20. Надо использовать не Image, а TStyleObject. В нем можно взять маленькое изображение тени и задать правила растяжения. В результате картинка будет занимать минимальный размер, но может быть использована для отрисовки тени любого размера.
  21. Modernization continues to be one of the most important topics for many of our customers. Delphi has been around for some time and there are plenty of great “legacy” apps going back all the way to Delphi 7. While it is a testament to the quality of our development frameworks, at some points ten-year-old apps are, well simply too old… Our community of developers are moving to the latest versions so that they can deliver modern, compelling products to their customers. Internally, we have been taking this same journey with the RAD Studio product itself, and while it is not always easy, it is worth the effort. I think that we are finally making a lot of progress, which emboldens me to share some lessons learned that may help you plan your own journey. Update the UI I think that the most difficult part of any Modernization project is the compelling argument for a UI update. There is one school of thought that says that if it works, who cares that an icon looks old. It is also difficult for developers to be very passionate about it, as they also frequently do not care about look and feel. Yet, an updated look and feel is HUGE. We have made many gradual updates to RAD Studio over the last two years and have a few more in store. When we do surveys, rarely does the look and feel get prioritized. Enterprise software customers rarely admit to buying a software solution because “it looks pretty”. But once UI improvements are made, the impact tends to be surprisingly high. Especially for Delphi apps that come with an inherent “legacy” bias. It is a fight worth fighting and fortunately some of the updated VCL and FMX tooling make implementations easier. Take your time and do it right. It is totally worth getting professional designer help (again something that many developers do not do). Be sure not to overlook the impact of nice high quality icons. Here are some examples of the icons that we used for 10.2.2. There are so many choices out there that are very inexpensive. I love www.icons8.com for example. Do Mobile One of the great advantages of Delphi today is FMX. As smartphone adoption increases (~70% by 2018), FMX will grow in relevance. If you know VCL, development with FMX is relatively natural. There are of course some styling and behavior specificities, and frankly we need to improve the RAD Studio workflow more, but the productivity is amazing. Most other approaches require a separate team and investment. Historically Mobile Apps were Outsourced as a package, but this is changing. FMX allows a Delphi team to build the Mobile App. You do not need to recreate the old app with FMX, but building meaningful mobile extensions is a must. You will gain immense respect and the Delphi tech will be perceived rightfully as Modern. And you get to build your team. There is a lot of training help to get you started. I personally like Delphi Styles that can deliver some very slick custom looks (below are a couple of great FMX style templates from www.delphistyles.com) Make It “Multi-Tier” Architecture is not simple. Unfortunately, even great developers may not have knowledge in other areas, simply because of the vast range of areas in software development. Sometimes this means making architectural changes such as moving from a desktop app to a multi-tier can be a learning experience for even the most experienced. It's always great to learn, or to get outside support to assist. We aim to make architectural transitions easy, such as how RAD Server comes with excellent Multi-Tier architecture support features. It is not a daunting task to rethink an old app into a Multi-Tier one, although there are no guarantees (depends how it was built). I have spoken with many developers that at first were very scared, but once they got deeper, found that the effort is far less than expected. For sure, it is hugely less expensive than re-platforming with a completing different language such as Java. Again, one simple approach is to start small and modularize as much as possible. Also, do not rush to lose the VCL client. The speed it can deliver, especially in sensitive environments where seconds matter, cannot be replicated. I am aware of at least several multi-million dollar Java rebuild efforts that aimed to replace a VCL app and users simply did not adopt it… incredible waste. “Webify” Not a word, but you get the meaning. There are many approaches to do this with Delphi today. Ideally, you can create a tiered app and build an independent Web Client. Of course, we recommend Ext JS, since it is part of the family now, but there are plenty other good client Web technologies. Another approach that may be faster is to use a tool like UniGui, which takes a VCL-like approach and leverages Ext JS to build a Web Client. That does not work for everything but is very fast and productive. You certainly can create a module of your app quickly and demonstrate that Delphi works well and fast with Web. Today many Web interfaces to Delphi apps are built with .NET because of the inherit Windows connection. That of course works, but based on our latest experience and the new JS technologies, the speed and flexibility you can get with JS are great. Integrate RAD Studio has some of the best Integration frameworks and components. One of the most challenging aspects of other technologies is typically integration, and we do it super well and fast. Our recent Product survey indicates that a huge percentage of our customers have adopted FireDAC, which is fantastic. Figure out new ways for your modern app to be more integrated. How about displaying inventory from an ERP or feeding into it? Our Enterprise Connectors are based on the FireDAC framework and work really well. We even use them internally to create an ExtJS portal to our SFDC instance (illustration below). It is a “wow!” development experience. Innovate Delphi, through RAD Studio, supports many new capabilities including Push Notifications, Beacons, and the Woll 2 Woll mobile editor (www.woll2woll.com/beam). It is surprising to me how little customers use new Windows 10 features, One of my favorite underutilized technology is Beacons. These are now included for FREE in RAD Studio Enterprise edition. The mobile editor can accelerate the mobile apps developed with this tech dramatically. Given how many internal Delphi apps deal with location data capture, this should be such an easy and nice feature to include. And the best thing about Delphi is that innovating does not need to cost hundreds of thousands of dollars… InterBase Overcome the Legacy Argument This one is not as relevant for our efforts with RAD Studio, but it is a hurdle that each client has to overcome. The perception that Delphi is legacy is still there, despite recent strides to overcome it. Lately, I’ve taken a slightly different approach, which I’ve found very successful. Instead of diving deep into defending Delphi’s many merits, I just state a few facts and brush it aside. It works! Delphi today is one of the larger commercial ecosystems - plenty of open source ones have lost momentum as economics have deteriorated and support dwindled. Not to mention the fact that Delphi is the fastest, easiest to use and most functional development tool (a little subjective, but true). Our VCL framework for Windows development continues to provide the most native support for MS Windows, and nothing beats it. FMX provides better native cross-platform support than Xamarin and its popularity, especially for Android development is growing rapidly. I think that for any company that wants to manage technology risk, Delphi and VCL are far safer choices than even the trendiest of technologies and frameworks out there. Just ask someone who has gone through the several iterations of Angular or spent a boat-load on a Java migration. The combination of a highly productive language that is reusable and can work with flexible front and back-ends make Delphi a strong technology contender. Well, this got a bit longer than intended, but there is one point about Modernization that is perhaps the most difficult to overcome. It again has to do with perception rather than the technology. Customers continue to make the argument about the lack of availability of trained Delphi resources. Unfortunately, it is still true that there are fewer skilled Delphi developers compared to other popular technologies. Outsourcers are especially negative to these tools, as the productivity tends to go directly against their business model. Why sell you 5 Delphi developers when I can sell you 50 Java ones. But that is also the winning argument, you do not need that many Delphi developers – it is THAT good. And if you need to brush up on your skills or train a new team, we continue to develop Embarcadero Academy with more content and course options. In our experience a senior developer can pick-up Delphi super fast. Lets blow away technology sceptics with amazingly modern-looking apps! Просмотр полной статьи
  22. Если пытаться кормить json парсер кривым json и ожидать, что почему вдруг объект станет неожиданно массивом и не будет исключений, то таких парсеров вам не найти. Проще написать самому: быстро, дешево, без 100500 классов и исключений. И такой, который будет считать, что {} - это массив. А вообще, рекомендую начать с http://www.json.org/ Возможно, после этого придет понимание того, почему нужно то или иное количество классов, ну или хотя бы вы сами разберетесь и поймете, почему так происходит.
  23. Если используется режим DropDownKind = Native, то такой проблемы не должно быть. Выбор итема происходит в диалоговом окне с прокруткой.
×
×
  • Создать...