Как написать программу на делфи для линукс

Содержание

RAD Studio allows you to develop applications for the target Linux platform. Using RAD Studio installed on Windows machine, you can create a 64-bit Linux application and deploy it to the Linux machine. Developing Linux applications is similar to creating Android apps in RAD Studio. However, for Linux, you cannot create the visual VCL and FireMonkey applications. Here is the list of apps that are available for the Linux platform:

  • Console Application
  • EMS Package (RAD Server)
  • DataSnap
  • DataSnap WebBroker
  • WebBroker
  • Dynamic-link Libraries
  • DUnitX Project

Contents

Prerequisites

To develop Linux applications, you need to have the RAD Studio installed on the Windows PC as well as a machine with the Linux platform (can be a virtual machine).

Preparing Your Linux Development Environment

To prepare your development system (PC) and Linux machine for application development with RAD Studio:

Разработка для Linux в Delphi 11. Возможности, инструменты и библиотеки

Installing Development Packages

To install the development packages on Ubuntu:

  1. Right-click your desktop and select Open Terminal.
  2. To upgrade the packages you have already installed , type sudo apt update sudo apt upgrade sudo apt dist-upgrade in the terminal.
  3. Type your user password and press Enter
  4. Wait until prompted to agree to the package upgrade operation. Type Yand press Enter
  5. Wait until the package upgrade operation is complete. It may take a few minutes to complete.
  6. To add the development packages, type sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 in the terminal.
  7. Type your user password and press Enter
  8. Wait until prompted to agree to the package installation operation. Type Yand press Enter
  9. Wait until the pacjage installation operation is complete. It may take a few minutes to complete.

To install the development packages on Red Hat:

  1. Right-click your desktop and select Open Terminal.
  2. Type yum groupinstall ‘Development Tools’ in the terminal.
  3. Press Enterand wait until the package installation operation is complete. It may take a few minutes to complete.

Preparing Your Linux Machine

To create Linux applications, you need to add a virtual machine PAServer:

1. Find the LinuxPAServer21.0.tar.gz file in the following location: C:Program Files (x86)EmbarcaderoStudio21.0PAServerLinuxPAServer21.0.tar.gz 2. Unpack the LinuxPAServer21.0.tar.gz file.

To use the System.zLib unit on Red Hat:

1. Install the zLib-devel library to your RHEL machine with the following command: sudo yum install zlib-devel 2. Update the local SDK cache.

To use the System.zLib unit on Ubuntu:

1. Install the zLib-devel library to your Ubuntu machine with the following command: sudo apt-get install zlib1g-dev 2. Update the local SDK cache.

Уроки Delphi (Делфи) для начинающих с нуля. Урок №1 «Визуальная среда разработки программ»

Creating a Connection Profile

  1. Right-click the folder where you have unpacked the LinuxPAServer21.0.tar.gz file, and then click Open in Terminal.
  2. Enter ./paserver in terminal. Then, press Enter.
  3. On the Tools > Options > Environment Options > Connection Profile Managerpage, click the Addbutton. The Create a Connection Profilewizard opens.
  4. On the Profile informationpage, enter the following:
    • In the Profile namefield, enter the needed name.
    • In the Platformfield, click the 64-bit Linuxplatform.
    • Click Next.
    • On the Remote machine informationpage, enter the following:
      • In the Remote machinefield, enter the IP address or Machine name.
      • Click Test Connectionto check if the values are valid.
      • Click Finish.

      Adding the Installed SDK to RAD Studio

      1. On the Tools > Options > Environment Options > SDK Managerpage, click the Addbutton.
      2. In the Add a New SDKdialog, enter the following:
        • In the Select a platformfield, click 64-bit Linux.
        • In the Select a profile to connect, select a created profile from the drop-down list.
        • In the Select an SDK versionfield, the name of the SDK that you just installed will automatically appear. If you have not installed SDK previously, you can do it on this step. If you have already installed SDK, move on to the next step.

        Running PAServer on Linux machine

        To run the PAServer on your Linux machine:

        • Open the terminal, and then run PAServer in the terminal.

        RAD Studio

        Build Stunning Apps 5X faster for Windows, Android, iOS, macOS, and Linux

        Создавайте красивые интерфейсы для ПК и мобильных приложений с RAD Studio

        Вы готовы создавать лучшие пользовательские интерфейсы в своей жизни? Наш фреймворк библиотеки визуальных компонентов (VCL) для Windows и визуальная среда FireMonkey (FMX) для межплатформенных пользовательских интерфейсов обеспечивают основу для создания интуитивных и красивых пользовательских интерфейсов, поражающих на любой платформе: Windows, macOS, iOS, Android и Linux.

        • Один раз спроектировав UI, вы сможете легко настраивать его представление для разных платформ и устройств, без дополнительного перепроектирования или повторных усилий
        • Используйте Drag-and-drop чтобы переносить отображаемые и неотображаемые компоненты из палитры в визуальный редактор
        • Связывайте любые элементы пользовательского интерфейса с источниками данных при помощи визуального редактора LiveBindings Designer
        • Проверьте свой дизайн в режиме реального времени с помощью Live On-Device Preview на устройстве, чтобы отправить готовую форму на несколько устройств одновременно.
        • Добавьте адаптивность в свои интерфейсы для компьютеров, планшетов и смартфонов при помощи компонент, автоматически настраивающихся под разное разрешение экрана.
        • Применяйте встроенные и специфические для каждой платформы элементы управления для улучшения работы пользователей
        Читайте также:
        Программа как эксель только лучше

        Пишите код быстрее и лучше с помощью RAD Studio

        Разработчики и команды разработчиков ПО, следующие идеологии Agile, смогут писать код быстрее и лучше с помощью современных практик ООП, надежных фреймворков RAD Studio и функциональной интегрированной среды разработки.

        • Проводите меньше времени в ожидании завершения продолжительной компиляции благодаря нашим хорошо оптимизированным компиляторам для всех платформ
        • Выберите один из двух мощных и надежных языков (Delphi и усовершенствованный C++) и настройте среду разработки в соответствии со своим стилем написания кода
        • Code Insight ™ обеспечивает code-completion с помощью современного Language Server Protocol (LSP), основанного на вашем коде и используемых библиотеках, что поможет вам быстрее и точнее кодировать.
        • Получайте советы и подсказки из встроенной документации по мере написания кода
        • Сохраняйте гибкость процесса разработки с помощью дизайнера библиотеки визуальных компонентов, реструктуризации исходного кода в рамках методологии Agile и интерактивных шаблонов
        • Интегрируйте систему контроля версий, включая Git, Subversion и Mercurial

        Более быстрая отладка с помощью интегрированных средств RAD Studio для отладки кода для инструментальной платформы?

        Быстрее добирайтесь до первопричины ошибки за счет использования интегрированной межплатформенной отладки кода для инструментальной платформы. При помощи интегрированной среды разработки RAD Studio можно осуществлять отладку приложений, работающих дистанционно под операционными системами Windows, macOS, iOS, Android и Linux.

        • Добавляйте условные точки прерывания, чтобы быстро приостанавливать исполнение программы в указанном положении или при наступлении определенного условия.
        • Анализируйте стек вызовов целиком, чтобы иметь возможность отследить путь исполняемого кода до текущего положения.
        • Проверяйте текущие значения переменных во время приостановки программы в ходе отладки.
        • Code Insight™ code-completion is available while debugging.
        • Debug on any device! Deploy your app to any iOS, Android, macOS, or Linux device and debug as though it was running locally. Use breakpoints, stack exploration, tool tips and expression evaluation on local and remote machines with live debugging across all deployment platforms.

        Компилируйте и развертывайте приложение с помощью RAD Studio

        Создавайте приложения для предпочитаемых платформ своих пользователей. С помощью RAD Studio создавайте приложения для настольных и мобильных систем из одной кодовой базы и развертывайте их для Windows, macOS, iOS, Android и Linux.

        • Специально для App Store. Быстро создавайте комплекты приложений, которые можно развертывать в Windows Store (с помощью Desktop Bridge), Apple App Store и магазине Google Play
        • Определите файлы для развертывания на конкретной платформе и создайте конфигурацию. Внутри каждого проекта разработчики могут определять файлы для развертывания в зависимости от целевой платформы (например, Windows, macOS, Android, iOS, Linux), а также создавать конфигурации (например, «Отладка» или «Выпуск»)
        • Развертывайте файлы непосредственно из интегрированной среды разработки RAD Studio. Быстро развертывайте файлы на удаленных машинах с использованием Platform Assistant Server (PA Server). PA Server объединяет файлы, определенные для развертывания, и упаковывает их в один экземпляр приложения.

        Повысьте качество своего кода с помощью RAD Studio

        Более быстрые циклы разработки не обязательно приводят к ухудшению качества. RAD Studio включает множество функций, призванных внедрить передовые методы при написании кода, снизить дублирование и помочь вам стать суперразработчиком.

        • Быстрый сервис Error Insight автоматически помечает ошибки в вашем коде и помогает вам их исправить.
        • Встроенный рефакторинг позволяет оптимизировать, упростить и улучшить как производительность, так и читабельность кода вашего приложения.
        • Хорошо протестированные и высоко-оптимизированные кросс-платформенные библиотеки помогут быстро создавать лучший код.
        • Превратите документацию на созданный код во включаемую напрямую справочную информацию, которая доступна как вам, так и другим разработчикам группы.
        • Создавайте тесты для компонентов во всем объеме своего кода, используя включенные фреймворки DUnit и DUnitX.
        • Наблюдайте за тем, что происходит внутри приложения, не прерывая его работу. Добавляйте журналирование в реальном времени для любого приложения с помощью функции CodeSite Logging

        Сотрудничайте более эффективно с помощью RAD Studio

        Функции сотрудничества и контроля версий RAD Studio позволяют быстрее создавать более качественные продукты при независимой работе разработчика или его деятельности в составе группы. Code Collaboration обеспечивает более глубокое и точное понимание кода, более высокое качество тестирования, а также создание усовершенствованных продуктов.

        • Системы управления версиями, включая репозитории Subversion, Git и Mercurial обеспечат быстрое отслеживание и управление изменениями.
        • Вкладка History в окне просмотра кода и встроенное средство анализа различий позволят легко перемещаться по изменениям и их истории.
        • Используйте компиляторы для командной строки RAD Studio, которые идеально подходят для быстрой интеграции в конфигурации непрерывной сборки, используя нашу поддержку проектов MSBuild или CMake.

        Расширяйте интегрированную среду разработки RAD Studio

        RAD Studio включается в себя сотни компонентов, обеспечивающих все необходимое: от создания пользовательских интерфейсов до подключения к базам данных. Это ускоряет и упрощает построение бизнес-приложений для настольных компьютеров и мобильных платформ. Помимо библиотеки визуальных компонентов VCL и FireMonkey доступен широкий ассортимент инструментов и компонентов, предлагаемых сообществами Delphi и C++Builder.

        • Менеджер пакетов GetIt. Быстро расширяйте функциональность своих приложений, загружая и интегрируя новые компоненты.
        • Создание приложений для Интернета вещей. Быстро добавляйте в интегрированную среду разработки RAD Studio возможности Интернета вещей. Более 50 компонентов для Интернета вещей доступны БЕСПЛАТНО через GetIt.
        • Расширяйте интегрированную среду разработки с помощью инструментов и компонентов от партнеров компании Embarcadero Technologies.
        • Интегрированные инструменты и компоненты. Beyond Compare, FastReport, TeeChart, InterBase, IP*Works, CodeSight!
        • Расширяйте интегрированную среду разработки с помощью расширений и дополнений, созданных десятками сторонних лиц, чтобы настроить ее так, как хочется именно вам

        Создание приложений с возможностью подключения

        Создавайте законченные решения для современных приложений под Windows 10, macOS, iOS, Android и Linux.

        Eдиная база исходного кода

        Создавайте приложения для всех платформ, затрачивая меньше времени на написание кода. Написали один раз, скомпилировали для всего.

        Доступные данные

        Получитеsнативный, тивныйs code-completion via a mс помощью FireDAC к СУБД InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, MongoDB и многим другим.

        Адаптивный пользовательский интерфейс

        Один раз создайте единый адаптивный интерфейс с поддержкой конкретной платформы и разверните его на несколько платформ.

        Читайте также:
        Не удается запустить программу dotnet exe не удается найти указанный файл

        Приложения для Windows 10

        Модернизация приложений VCL для поддержки Windows 10 с помощью современных средств управления пользовательским интерфейсом, WinRT API, функций, связанных с HighDPI, и поддержки Магазина Windows Store.

        Приложения для Linux

        Разработка серверных и FireMonkey GUI приложений для Linux с RAD Studio (личность Delphi).

        Приложения для macOS

        Разрабатывайте приложения для macOS быстро и просто с помощью RAD Studio (личность Delphi).

        Android и iOS

        Быстро создавайте мобильные приложения с платформозависимыми элементами управления пользовательского интерфейса. Быстро осуществляйте прототипирование с использованием средства разработки для различных устройств и режима просмотра в реальном времени в интегрированной среде разработки.

        Internet of Things (IoT)

        Легко подключайте свои приложения к гаджетам, устройствам, датчикам, корпоративным сервисам передачи и обработки данных.

        Поддержка облачных технологий

        Используйте клиентские библиотеки HTTP и REST, доступные на всех платформах, для вызова служб REST или компонентов AWS и Azure. Используйте мощные разъемы CData Enterprise Connector для доступа к более чем 70 источникам данных.

        Расширения

        Интегрированная среда разработки RAD Studio используется разработчиками во всех странах мира для создания приложений всех типов. Эта среда имеет открытый интерфейс программирования приложений, который позволяет дополнительно расширить ее возможности. Развивайте и расширяйте встроенную среду разработки за счет собственных компонентов и встраиваемых программных модулей и подумайте о том, чтобы продавать их другим разработчикам.

        Спроектируй, создай, запусти!

        Интегрированная среда разработки RAD Studio IDE поможет вам в течение всего цикла разработки создавать единую базу исходного кода приложения, который потребуется только перекомпилировать для работы на других платформах.

        Станьте частью глобального сообщества разработчиков!

        Укажите адрес своей электронной почты чтобы получать самый свежие новости о продуктах, событиях, описания применения и многое другое.

        Источник: onecomp.ru

        Приложения Delphi в Linux и доступ к базам данным MongoDB

        Приложения Delphi в Linux и доступ к базам данным MongoDB

        С выходом RAD Studio 10.2, включающей компилятор Delphi for Linux, появилась возможность создания на Delphi серверных нативных приложений для работы в среде Linux. Многие коммерческие и промышленные системы все чаще используют в качестве серверов вычислительные системы под управлением различных версий и редакций Linux — популярной, производительной и значительно более экономичной операционной системы широко распространенной на множестве облачных платформ и практически в любых центрах обработки данных.

        Многие Web-сайты и многозвенные приложения работают на Linux-серверах и обеспечивают одновременный доступ множества пользователей к хранимой на сервере или в распределенных системах информации, которая, в подавляющем числе случаев, хранится под управлением какой-то СУБД.

        Библиотеки и компоненты Delphi для работы с базами данных позволяют быстро и в визуальном режиме создавать множество вариантов самостоятельных приложений, WEB- и REST-сервисов, встраиваемых модулей для промышленных WEB-серверов и серверов приложений, в том числе, Datasnap или RAD Server, активно работающие с любыми из обширного списка поддерживаемых СУБД.

        За последние годы документо-ориентированная NoSQL СУБД MongoDB добилась огромной популярности и получила широкое распространение именно на серверах под управлением Linux. В силу особенностей Linux здесь MongoDB работает производительнее, лучше настраивается и масштабируется.

        На обзорных вебинарах и семинаре по RAD Studio 10.2 я уже показывал примеры реализации серверных приложений Linux, работающих с данными из MySQL. В самом простом случае нужно всего лишь добавить компонент TFDConnection, настроить его для связи с сервером БД, указав соответствующие параметры-свойства, а затем с помощью TFDQuery ввести нужный запрос и выполнить его. Остается только выдатьнапечатать данные, полученные после выполнения запроса в нужной форме. Невероятно, но самым сложным является настройка драйверов доступа к СУБД, в данном случае MySQL.

        Теперь я бы хотел рассказать, как реализовать простейшую программу для Linux-сервера, обрабатывающую данные из MongoDB. Несмотря на очевидную простоту реализации, стоит обратить внимание на характерные особенности работы с MongoDB.

        Для этого примера я буду использовать установленный на моей VirtualBox VM с Ubuntu Server 16.04 отдельный сервер MongoDB v3.4. Как установить и настроить сервер MongoDB в Ubuntu Linux подробно описано в статье Установка InterBase и MongoDB в Linux (Ubuntu server) в этом блоге. Запуск демона MongoDB выполняется командой

        Кстати, для удобства переноса модулей в Ubuntu я пользуюсь утилитой WinSCP и PuTTY-терминалом для SSH-соединения с Linux.

        В этом примере мы будем работать с базой данных из примеров работы с MongoDB в FireDAC , которые поставляются вместе с RAD Studio или Delphi 10.2. Это база данных (database) ‘test’ и коллекция ‘restaurants’, которая содержит более 25000 записей о Нью-Йоркских ресторанах, с привязкой по районам. Если ваш MongoDB на Linux еще не содержит такой базы данных, ее можно создать и заполнить прямо из Windows — открыть пример «C:UsersPublicDocumentsEmbarcaderoStudio19.0SamplesObject PascalDatabaseFireDACSamplesDBMS SpecificMongoDBRestaurantsMongo_Restaurants.dproj», собрать и запустить его. Первая кнопка ‘LoadData’ создаст и заполнит нужную БД.

        Для примера ограничимся только двумя запросами, зато интересными:

        • ‘Count of restaurants grouped by borough’ — подсчет количества ресторанов в каждом районе
        • ‘Count of Brazilian restaurants in Queens grouped by zip-code’ — Подсчет количества ресторанов с бразильской кухней в районе Queens, с группировкой по почтовому индексу

        Главный модуль приложения выглядит так:

        program linuxMongo; uses System.SysUtils, uLinuxMongoDM in ‘uLinuxMongoDM.pas’ ; begin try < TODO -oUser -cConsole Main : Insert code here >AggregateData(); Readln; except on E: Exception do Writeln(E.ClassName, ‘: ‘, E.Message); end; end.

        Вся магия работы с данными заключена в вызове процедуры AggregateData(); которая описана в стандартном TDatamodule в модуле uLinuxMongoDM.

        Датамодуль устроен тоже достаточно просто, однако есть специфика работы с MongoDB.

        unit uLinuxMongoDM; interface uses System.SysUtils, System.Classes, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, FireDAC.UI.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MongoDB, FireDAC.Phys.MongoDBDef, System.Rtti, System.JSON.Types, System.JSON.Readers, System.JSON.BSON, System.JSON.Builders, FireDAC.Phys.MongoDBWrapper, FireDAC.ConsoleUI.Wait; const DBsrvAddr = ‘192.168.56.101’; type Tfdm = class(TDataModule) FDConnection1: TFDConnection; FDPhysMongoDriverLink1: TFDPhysMongoDriverLink; procedure DataModuleCreate(Sender: TObject); private < Private declarations >FEnv: TMongoEnv; FCon: TMongoConnection; procedure DumpCursor(ACrs: IMongoCursor; caption: string); public < Public declarations >procedure DataGetAggregates(); end; var fdm: Tfdm; procedure AggregateData(); implementation uses System.Diagnostics, FireDAC.Stan.Util; procedure AggregateData(); var DataModule1: Tfdm; begin DataModule1 := Tfdm.Create(nil); DataModule1.DataGetAggregates; DataModule1.Free; end; procedure Tfdm.DataGetAggregates; var oCrs: IMongoCursor; begin oCrs := FCon[‘test’][‘restaurants’].Aggregate().Group.Add(‘_id’, ‘$borough’) .BeginObject(‘count’).Add(‘$sum’, 1).EndObject.&End; DumpCursor(oCrs, ‘Count of restaurants grouped by borough’); oCrs := FCon[‘test’][‘restaurants’].Aggregate().Match.Add(‘borough’, ‘Queens’) .Add(‘cuisine’, ‘Brazilian’). DumpCursor(oCrs,’Count of Brazilian restaurants in Queens grouped by zip-code’); end; procedure Tfdm.DataModuleCreate(Sender: TObject); begin with FDConnection1.Params do begin Clear; Add(‘DriverID=Mongo’); Add(‘Server=’+DBsrvAddr); end; FDConnection1.Connected := True; FCon := TMongoConnection(FDConnection1.CliObj); FEnv := FCon.Env; end; procedure Tfdm.DumpCursor(ACrs: IMongoCursor; caption: string); begin Writeln(»); Writeln(caption); while ACrs.Next do Writeln(ACrs.Doc.AsJSON); end; end.

        Читайте также:
        Как называется программа для документов

        Вызываемая процедура AggregateData() управляет созданием и уничтожением объекта датамодуля. Обработчик его события OnCreate обеспечивает задание актуальных параметров соединения с сервером MongoDB, создает и инициализирует необходимые объекты (соединение и контекст) для работы с запросами и курсорами Mongodb. Сами запросы задаются и выполняются в процедуре Tfdm.DataGetAggregates, а процедура Tfdm.DumpCursor(ACrs: IMongoCursor; caption: string) обеспечивает выдачу заголовка запроса и полученных в результате его исполнения данных.

        За исключением операторов консольной выдачи, исходный текст этого модуля не содержит изменений по сравнению с аналогичным для платформы Windows — фактически, это один и тот же код.

        Укажем Linux64, как целевую платформу, и можно компилировать.

        Чтобы Delphi автоматически переносил и запускал скомпилированный двоичный модуль, нужно в окне терминала Linux запустить PAServer, необходимый, кроме того, для выполнения отладки программ на Linux.

        Если теперь собрать приложение и запустить его в Linux, то получим ошибку! Необходимо установить и настроить клиентские драйвера и библиотеки MongoDB.

        В этом месте я совершил небольшую ошибку. Чтобы не повторять ее, рекомендую следовать указаниям документации: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Connect_to_MongoDB_Database_(FireDAC), раздел Client Software.

        Дело в том, что работа FireDAC пока настроена на работу с драйвером mongoc от MongoDB версии 3.0. В состав дистрибутива Ubuntu 16.04 этот драйвер уже был включен. Моя ошибка заключалась в том, что я скачал, собрал и установил более современную версию драйвера 1.6.3. Переход на эту версию драйвера будет сделан в ближайшем обновлении (см. опубликованный RoadMap по RAD Studio). Пришлось «откатываться» на требуемый вариант.

        Следуйте указанным в документации инструкциям и выполните в окне терминала Linux:

        sudo apt-get install libmongoc-1.0-0 sudo ln -s /usr/lib/x86_64-linux-gnu/libmongoc-1.0.so.0.0 /usr/lib/x86_64-linux-gnu/libmongoc-1.0.so sudo ln -s /usr/lib/x86_64-linux-gnu/libbson-1.0.so.0.0 /usr/lib/x86_64-linux-gnu/libbson-1.0.so

        Вот теперь можно запускать проект на выполнение!

        07.2017

        Источник: www.interface.ru

        Перенос Delphi-программы под Linux

        Возникла такая задачка, вот решил поделиться ощущениями.

        Не рекомендовано к прочтению тем, кто чувствует себя в линуксе, как рыба в воде — ничего особо интересного вы здесь не узнаете.
        Сугубо и трегубо не рекомендовано к прочтению теми, кто простенький парсер пишет на php+mysql, заранее зная, чем это через полгода кончится. Я им завидую, конечно, но читать комментарии «все нормальные люди пишут на. » — уныло и очень бесполезно.

        На этом лирику завершаем и устанавливаем Lazarus. Если есть подозрение, что ваша программа использует что-то windows-специфическое, то лучше поставить CodeTyphon (это тот же лазарус с тучей примочек), и после сборки «нормального» лазаруса собрать еще и cross-build примочки.

        Не пугайтесь слова «собрать» — для сборки лазаруса+freepascal нужно всего лишь запустить setup.bat и выбрать в нем седьмой пункт, а для сборки cross-build примочек — выбрать в CodeTyphon’овском меню Cross-Build и нужный пункт в подменю. Дальше оно само 🙂

        Запускаем Lazarus, меню Сервис — Преобразовать проект Delphi в проект Lazarus. Естественно, перед этим делаем копию проекта.

        После преобразования допиливаем напильником то, что не преобразовалось само. В частности, для проекта, использующего Firebird, пришлось изменить название ряда классов, ибо в Lazarus’е они называются иначе.

        Следует обратить внимание на то, что многие типы в lazarus тоже называются иначе, это доставило мне несколько десятков неприятных минут в попытках понять, какого же черта types mismatch.

        Когда все начнет компилироваться под Windows (запустить программу из-под среды я так и не смог; говорят, что отладчик не дружит с Comodo, даже отключенным, а я не готов сносить comodo), можно изменить настройку Проект — Параметры проекта — Генерация кода на нужную ( i386 — Linux, например) и продолжить допиливание (это в том случае, если вы установили CodeTyphon).
        Компилироваться под линукс оно все равно не станет, но надо довести уровень ошибок с понятных до непонятных))) Точнее — до ненайденных библиотек, причем явно не windows’ных.

        Далее нам надо скомпилировать то, что получилось, под Linux. Тут есть два пути — допилить lazarus до того состояния, когда он начнет действительно поддерживать кросс-компиляцию или компилировать под Linux’ом.

        В интернете можно прочитать, что второй путь проще. Не повторяйте моей ошибки, не сочтите это преувеличением или фигурой речи! Второй путь действительно проще.

        Для компиляции под линуксом в виртуальной машине нам понадобится виртуальная машина и дистрибутив. Я взял VirtualBox и сетевой установщик Debian (в советах по допиливанию лазаруса неоднократно писалось, что библиотеки надо брать строго от того линукса, под которым будет работать программа. Не знаю, работает ли это правило для выбора дистрибутива, но рисковать не хотелось).

        Создаем виртуальную машину, добавляем общую папку с проектом, монтируем диск с дистрибутивом, запускаем. Внимание, клавиша «выхода из окна эмулятора» по умолчанию — правый Ctrl!

        С чистой совестью можно выбирать графический установщик, все будет как надо. В процессе отвечаем на энное количество вопросов, ничего особенного в них не содержится. Windows все устанавливали? Практически все то же самое.

        Ни в коем случае не забываем логинов и паролей, а то будет очень обидно %-))

        В установленном Linux логинимся под не-рутом (под рутом не пускает) и даем себе права администратора: Система — Администрирование — Пользователи и группы. Пригодится, хотя на каждом шагу все равно придется вводить пароль рута.

        Графическая оболочка вполне дружелюбна и понятна. Не знаю, как бы оно было на реальной машине, но в виртуальной линукс выглядит весьма достойно, мое впечатление о нем заметно улучшилось.

        Далее идем в Система — Администрирование — центр приложений — загрузить, в строчку поиска вводим Lazarus и устанавливаем его, после чего он появляется в меню «Приложения — программирование».
        Ставить CodeTyphon не рекомендую, незачем.

        Теперь монтируем общую папку.
        В домашней папке пользователя создаем папку, на которую отобразится расшаренная папка.
        Затем Ctrl+Alt+F1 (это открытие консоли), рутовые логин-пароль ( хинт: перелогиниться можно, введя команду exit. Вполне возможно, что это неправильно, но работает же) , затем
        mount -t vboxsf /home// (например: mount -t vboxsf LazarusProject /home/virgo/LazProj)
        Ctrl+Alt+F7 (выход из консоли).

        Приложения — программирование — Lazarus, открываем проект из нашей расшаренной папки, и. компилируем!

        Источник: virgo-style.livejournal.com

        Рейтинг
        ( Пока оценок нет )
        Загрузка ...
        EFT-Soft.ru