Delphi XE 2. Приложения под Windows, Mac OS и iOS

14 ноября 2011 г.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Да, вам не показалось — в одном заголовке рядом Delphi и Mac OS. Не смотря на то, что многие на хабре, да и вообще, уже давно «похоронили» Delphi, её разработчики каждый год обновляют свой продукт и на этот раз — удачно…

Здесь можно было бы рассказать какая у Delphi интересная история, как всё развивалось и «завивалось», но не буду, все и так знают какая это история… Поэтому, лучше процитирую часть комментария хабрапользователя: Ребята просрали все полимеры, однозначно. Это в точности отражает, что происходило последние годы с Delphi. И кто с этим не согласится? Но вот недавно, была выпущена новая версия. С весьма заметными изменениями:

  • 64-битный компилятор для Windows;
  • поддержка Mac OS и iOS;
  • FireMonkey;
  • LiveBindings;
  • FastReport;
  • Documentation Insight теперь часть IDE;
  • полный список.

Собственно, самое интересное это первые три пункта. О них и поговорим, а также сделаем программу в Windows, скомпилируем и запустим в Mac OS.

В общем-то, в плане интерфейса IDE мало что изменилось с последних версий и, это наверно хорошо, нет необходимости искать старые команды в новых меню. Хотя для нашего тестирования особых знаний среды и не потребуется. Поэтому, не будем тянуть, и сделаем тестовое приложение. Процесс, нахождения дистрибутива и установки, думаю можно пропустить :)

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Как видно на скриншоте, в окне создания проекта появились новые типы приложений. Помимо известного VCL Forms Application, появились приложения FireMonkey. Вот они то нам и нужны. Как говорится: «Не знаешь 2D – не лезь в 3D», поэтому выбираем FireMonkey HD Application и создаем проект.

FireMonkey

Небольшая справка, что такое FireMonkey. Это новая платформа для создания приложений под Windows, Mac OS и iOS. Новая она для Embarcodero, потому что создателем являлась компания KSDev, а сама библиотека называлась VG-Scene. Потом Embarcodero купила её и сделала частью FireMonkey.

В отличии от обычных VCL компонентов, компоненты FireMonkey являются контейнерами. Это позволяет создавать свои компоненты на основе уже имеющихся, буквально движением мыши, а с помощью встроенного редактора стилей вы сможете дать своему приложению поддержку скинов. Я уже не говорю про кучу всяких эффектов в FireMonkey: затухание, размытие и т. д. Все уже сделано, можно пользоваться. Ну конечно же — возможность всё это скомпилировать и отладить в Mac OS. Интересно? Продолжим.

Тестовое приложение

Напишем небольшое приложение, которое получает HTML код указанной страницы, сохраним его и запустим в Windows. Тут ничего чудесного нет, разве что исполняемый файл, стал меньше по сравнению с XE. Да-да, обычно было наоборот, с каждой новой версией Delphi ехешник с пустой формой добавлял килобайтов. Это так, приятная мелочь, самое интересное впереди.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Для того чтобы проверить наше приложение в Mac OS, запустим её в виртуальной машине (VMware), т. к. рабочего мака под рукой нет. Кстати, при тестировании в виртуальной машине возникли некоторые проблемы с графикой, о них ниже.

Для отладки в Mac потребуется PAServer – Platform Assistant Server, установщик можно взять из директории Delphi. Копируете на Mac, устанавливаете и запускаете через paserver.command. Более подробно можете прочитать в документации. Этих действий достаточно чтобы приложение запустилось.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Теперь нужно добавить дополнительную платформу к нашему проекту. Возвращаемся в Windows и Delphi. Жмете правой кнопкой на «Target Platforms» в узле проекта и добавляете OS X. Там же есть и 64-битная версия под Windows.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

После этого нужно создать профиль отладки. Жмете правой кнопкой по только что добавленой OS X и создаете новый профиль. В окне настройки профиля нужно указать адрес, порт и пароль (если задавали) к маку с PAServer’ом. После создания, делаем новый профиль активным.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Всё. Билдим проект и запускаем. Если вы запускаете через VMware, то очень может быть что приложение не запустится. Там есть какие-то траблы с графикой в VMware, поэтому нужно сделать несколько несложных манипуляций:

  1. Скопировать юнит FMX.Filter.pas в папку с проектом;
  2. Изменить в этом юните две функции;
  3. Установить в проекте переменную FMX.Types.GlobalUseHWEffects := False перед инициализацией.

function FilterByName(const AName: string): TFilter;
var i: Integer;
begin Result := nil;
if Filters = nil then Exit;
if GlobalUseHWEffects then begin for i := 0 to Filters.Count – 1 do if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0 then begin Result := TFilterClass(Filters.Objects[i]).Create;
Exit;
end;
end;
end;

function FilterClassByName(const AName: string): TFilterClass;
var i: Integer;
begin Result := nil;
if Filters = nil then Exit;
if GlobalUseHWEffects then begin for i := 0 to Filters.Count – 1 do if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0 then begin Result := TFilterClass(Filters.Objects[i]);
Exit;
end;
end;
end;[/code]

Пробуем ещё раз.

Delphi XE 2. Приложения под Windows, Mac OS и iOS

Собственно, «вот до чего техника дошла» (с). Сделали программу в Delphi на Windows и работаем в Mac OS – не изменив ни строчки кода. Для компиляции под iPhone и iPad, необходимо уже экспортировать проект и xCode, но это я думаю в другой статье.

Теперь вы можете достать из архивов свои старые игры на Delphi и попробовать переделать их на iOS. Удачи в экспериментах!

Скачать проект

Теги:
рубрика Программирование
  • Похожие статьи
  • Предыдущие из рубрики