Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

четверг, 4 сентября 2014 г.

Что нового в XE7 или сравнение с XE6...

Традиционный пост к новой версии среды разработки. Учитывая огромную популярность предыдущего поста про XE6, я просто обязан написать новый. Пост обновляется по мере изучения среды и новых находок. Сравнение происходит с предыдущей версией, в данном случае с Delphi XE6 Update 1.

Обновление 17:54 МСК 5.09.14 Новый компонент MultiView

18.09.14 Java to Pascal Converter

Кратко: Установка, дизайнер форм, компилятор, свойства формы (FullScreen), Multi-Touch Support, Splash Screen, MultiView, баги.


Установка:
Тут всё как обычно. Предыдущая версия удаляется не полностью, оставляя около 5 Гб файлов. Про реестр я вообще молчу…
Установка новой версии. При запуске, может показаться, что установка зависла, но на самом деле за главным окном появилось маленькое окошко для выбора языка, чтобы увидеть его и продолжить установку, нажмите Alt+Tab. По времени, всё происходит также долго, как и раньше.

Дизайнер форм:
В целом идея класс, но вот размеры форм теперь не дают реального представления об отображении вашего приложения на том или ином девайсе. Интересно, что сохранившиеся шаблоны для iPhone 3.5 и 4 дюйма, отображаются также как и в XE6. Лучше бы сохранили готовые шаблоны для всех девайсов.

Если кто-то знает объяснение этому (может, я что-то упустил или я слишком привык к старому дизайнеру форм), то напишите в комменты.

Если сравнить форму (например, 4.2 дюйма) созданную в XE6 и форму(4 дюйма) из XE7, то вы сильно удивитесь, т.к. форма (4 дюйма) почти в два раза больше, чем старая. Или создаём в XE7 форму 3.5 дюйма и видим, что она почти в "два раза" меньше формы 3.2 дюйма из XE6.

Далее...
Удалять компоненты с формы можно только в режиме Master просмотра, попытка удалить любой компонент с формы в режиме отличном от Master приведёт к ошибке. Тоже касается и блока Structure, только там более подробно расписана ошибка.



Компилятор:
Приложения под Android компилятся намного быстрее, чем раньше.

Свойства формы:
Form1.FullScreen - Недавно, я писал заметку о том, как убирать статус бар, так вот в XE7 такая возможность идёт из коробки. Проверил, работает отлично.

Multi-Touch Support:
Событие OnTouch. Работает отлично, использовать проще простого, ловит все 10 касаний. На скрине 5 касаний. Пример: XE7: Multi-Touch Support

Splash Screen:
Установить и настроить можно тут "Project > Options > Application", рекомендации читаем тут.
Попробовал, вроде работает :)

MultiView Component:
Удалось попробовать, пока только демку (лежит тут C:\Users\UserName\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\User Interface\MultiView). С помощью данного компонента можно создавать любые менюшки для вашего приложения. Очень понравилось, как всё работает. Пример в справке: Mobile Tutorial: Using a MultiView Component to Display Alternate Views of Information (iOS and Android)


Комментарии приветствуются.


Исправили баги:
- Исправили баги с удалением и изменением значений в TNumberBox и TSpinBox
- Вернули вкладку для настройки ориентации приложения, но у меня она работает как-то странно…
Выставляем:
  • Portrait и Landscape home right - приложение не вертится.
  • Portrait, Landscape home right, Landscape home left - приложение не вертится.
  • Portrait, Upside down, Landscape home right, Landscape home left - приложение вертится, всё кроме "Upside down".
В чём фишка с ориентацией? Создал рапорт QC 127349

- Исправлен баг QC 127004 TLang
- Исправлен баг QC 121702, но у меня он воспроизводится, поэтому не знаю, что там исправили… Видео и логи в процессе создания...

Баги:
- QC 121702 проявляется после второго, третьего или четвёртого запуска приложения Последняя попытка в логах не фиксируется. Добавил рапорт в QC 127337
Пример логов: на третий раз приложение не запустилось, Скачать логи
Видео
- QC 127349. Ориентация. Провёл кучу тестов, поведение, как мне кажется не правильное, создал рапорт, подождём официального коммента.