lazarus приложение без окна

Lazarus приложение без окна

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

Многооконные приложения

Изучим работу с различными окнами на примерах.

Модальные окна

20 01

В свойстве Caption формы напишите «О программе«.

20 02

Так вот, в строчке Copyright указывается имущественный правообладатель. Если вы делаете программу на заказ, здесь вы должны указать заказчика. Себя же вы можете упомянуть строчкой ниже, установив еще одну метку, и начав ее текст, как «Автор: «. Но поскольку в данном проекте заказчика у нас нет, то все авторские права принадлежат нам. Кстати, указывайте не мою, а свою фамилию, ведь я добровольно выкладываю этот код для общего использования, а проект по моим описаниям делали все же вы!

И еще. Знак авторского права © имеет в таблице символов код 0169. Чтобы вставить его в Caption метки, при вводе текста нажмите , и удерживая его, наберите 0169. Затем отпустите . Символ должен появиться в метке. Вместо этого знака иногда указывают упрощенный вариант: » (с) «. Сделайте, как считаете нужным.

Немодальные окна

20 03

Сгенерируйте следующее событие OnClick для кнопки «ОК«:

Источник

Lazarus приложение без окна

Изучение изменения свойств компонентов и работы с событиями. Знакомство с общими для многих компонентов свойствами, с различными типами кнопок.

Форма

Мы много раз употребляли слово компонент, но что это такое?

Поскольку нам придется сегодня много экспериментировать, будет нелишним сохранить новый проект. Сохраните его под именем Proba в папку

Вы еще не забыли, что модуль мы называем так же, как форму, но без начального «f«? В нашем случае, это будет Main.

Теперь давайте прогуляемся по основным свойствам формы, от начала к концу.

03 01

Установите значение bsDialog и запустите программу, посмотрите на внешний вид полученного окна.

03 02

03 03

Для дальнейших экспериментов давайте установим следующие параметры формы:

Панель и TSplitter

После изучения предыдущего раздела, у вас должен быть открыт проект с пустой формой, настроенной определенным образом. Если это так, установим на форму панель. Для этого щелкните по компоненту TPanel в палитре компонентов, а затем щелкните по форме, установив на нее панель:

03 04

Name — имя панели. Если будем ее переименовывать, то в этом свойстве.
Caption — текст в центре панели, в нашем случае, это Panel1. Этот текст очень редко используется, обычно его удаляют, чтобы панель была пустой. Мы тоже очистим этот текст.
Left, Top — расстояние в пикселях, соответственно, от левой и верхней границ формы до панели. Установим в обоих свойствах значение 10.
Height — высота панели в пикселях, установим ее в 320.
Width — ширина панели в пикселях, установим ее в 580.

Теперь сохраните изменения в проекте и запустите его. Вы увидите окно с выпуклой панелью, под которой осталось место для кнопки. Так обычно оформляют диалоговые окна. Однако выпуклость панели можно и убрать, превратив ее в аккуратную рамочку. Закройте окно и вернитесь к проекту. Рассмотрим три свойства, влияющих на выпуклость панели.

Попробуйте «поиграть» со свойствами панели: меняйте их, запускайте проект на выполнение, и смотрите, как будет меняться внешний вид панели. А когда наиграетесь и запустите программу в последний раз, разверните окно во весь экран. Вот это уже неприятно: окно программы увеличилось, а панель осталась прежней:

03 05sm

Дело в том, что панель «привязывается» к верхней и левой границе формы. А при изменении размеров окна, правая и нижняя границы панели не изменяются. Чтобы «привязать» к форме все стороны панели, служат «якоря»:

03 06

03 07

03 08

Не забудьте сохранять проект время от времени.

Кнопка TButton

Именно так, с точкой с запятой в конце. Это оператор закрытия окна. А если это окно главное, то значит, закроется вся программа :

03 09

03 10

Другие события кнопок нам пока не нужны. Сохраните проект и запустите его. Убедитесь, что нажатие на кнопку приводит к закрытию программы.

03 11

Поставьте две кнопки TBitBtn и одну TSpeedButton куда-нибудь на нашу форму, например, на верхнюю панель, правее нашей Button1. Будем разбираться, чем они отличаются от обычной кнопки.

Кнопка TBitBtn

Это более продвинутая кнопка, имеющая некоторые дополнительные свойства. Прежде всего, вы заметили, что она несколько более высокая, чем обычная кнопка. TBitBtn помимо текста может содержать и изображение. Для этого используются несколько свойств.

Примечание: Большинство изображений хранится в папке Images там, куда вы установили Lazarus. Если вы оставили адрес по умолчанию, это будет

Там хранится несколько папок, где изображения рассортированы по тематикам. Однако необязательно использовать только эти изображения. В Интернете можно найти огромное количество бесплатных коллекций изображений, которые можно использовать в своих проектах.

Выделите свойство Glyph кнопки BitBtn1 и щелкните по кнопке «» справа от него. Откроется диалог выбора изображения. В этом диалоге нажмите кнопку «Загрузить» и найдите папку

Однако с этой кнопкой мы еще не закончили. Выделите ее в Редакторе форм и обратите внимание на свойства кнопки.

Данное свойство лучше не изменять.

Кнопка TSpeedButton

Напоследок поработаем с этим типом кнопок. Они чаще всего применяются для организации панелей инструментов. Дело в том, что эта кнопка не имеет фокуса ввода! Что я имею в виду? Запустите программу на выполнение и клавишей перемещайтесь по кнопкам. Вы увидите, что можно выделить любую кнопку, кроме SpeedButton1. На такую кнопку можно нажать только мышью, при этом, если окно не закроется, фокус вернется к тому компоненту, который был выделен ранее.

Как видите, кнопка квадратная, имеет малый размер и рассчитана только на то, чтобы с помощью свойства Glyph в нее загрузили изображение. Однако она имеет такие же свойства, как TBitBtn: Caption, Layout, Space и т.д., поэтому в данной кнопке также можно использовать текст совместно с изображением, или только текст, или только изображение.

03 12

Напоследок исправим один недостаток. Если вы обратили внимание, у нас на форме 4 кнопки, но при установке указателя на любую из них всплывает та самая подсказка, которую мы писали в свойстве Hint формы: «Наша всплывающая подсказка «. А это не очень хорошо. Нужно в свойстве Hint кнопок написать соответствующие тексты, например:

Конечно, в реальных приложениях в свойстве Hint вы будете писать подходящий текст подсказки, например, » Выход из программы». Но у нас все кнопки выполняют выход из программы, и чтобы отличить их друг от друга, мы укажем соответствующий текст. Сохраните проект и запустите его на выполнение; убедитесь, что текст всплывающих подсказок меняется.

Источник

Урок 1. Система программирования LAZARUS

Урок из серии «Программирование в среде Lazarus для школьников»

Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.

Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.

В этом уроке дается краткая справочная информация о среде программирования Lazarus, рассказывается об основных инструментах среды разработки программ, определяются основные этапы создания приложений.

В заключении вы можете посмотреть видеоурок, из которого узнаете о различиях проектов Lazarus и Delphi.

0

Скачать последнюю версию Lazarus вы можете по ссылке —//sourceforge.net/projects/lazarus/files/

Краткая справочная информация

Lazarus — среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичная Delphi.

Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL).

Кроссплатформенное программное обеспечение — это программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.

Free Pascal — это компилятор языков Pascal и Object Pascal, работающий под Windows, Linux, Mac OS X, FreeBSD, и другими ОС.

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

Все, что вы видите на экране во время работы различных приложений, все элементы (кнопки, бегунки, меню и т.п.) можно реализовать в Lazarus.

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

Процесс создания приложения можно разделить на следующие этапы:

1. Создание проекта. В результате на экране появляется пустая форма (окно будущего приложения).

2. Создание графического интерфейса проекта — расположение необходимых элементов, задание размеров, изменение свойств;

3. Написание программного кода, который определит, что будет делать ваша программа.

4. Отладка программы.

Чтобы познакомится с основными инструментами среды разработки, запустим среду программирования.

Для этого выполните команду:

Пуск => Все программы => Lazarus => Lazarus.

При этом запускается оболочка создания приложений, называемая интегрированной средой разработки IDE (Integrated Development Environment). На экране появиться набор окон.

1 1

Вы видите все основные инструменты среды разработки Lazarus:

1. Окно формы — окно будущего приложения.

2. Главное окно, содержащее три панели: меню, панель инструментов, палитру компанентов. Палитру компанентов вы будете использовать для выбора необходимых вам для создания пользовательского интерфейса помпонент.

3. Окно Инспектор объектов, содержащее файлы проекта и окно со вкладкой Свойства, в котором вы будете настраивать свойсктва помещенных на форму объектов.

4. Окно Редактор исходного кода, в котором вы будете писать программный код.

Дадим появившимся окнам краткую характеристику.

Главное окно. Здесь располагаются меню, панель инструментов и палитра компонентов.

1 2

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

Невизуальные компоненты видны только на первом этапе создания приложения — при редактировании.

Главное окно остается открытым все время работы IDE. Закрывая его, вы, тем самым, закрываете Lazarus и все открытые в нем окна.

Инспектор объектов содержит четыре страницы

1 3

На первой странице «Свойства» постоянно отображаются все доступные свойства выбранного компонента. В левой колонке содержится список всех свойств выделенного в данный момент компонента, в правой — значения свойств.

Значения свойств можно менять еще до запуска проектируемой программы. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1. Для изменения имени достаточно изменить его в Инспекторе объектов.

На второй странице «События» находятся возможные обработчики событий для выбранного компонента. В левой колонке расположены названия события, в правой — соответствующие процедуры.

Окно Редактора кода. На момент первого запуска оно имеет заголовок Unit1.

1 4

В окне Редактор исходного кода вы будите писать программный код программы, и само окно очень похоже на обычный текстовый редактор. Для удобства при редактировании текста программы строки пронумерованы, предусмотрено выделение цветами:

Текст программы разбивается на части — процедуры и функции.

Основную работу программист производит именно здесь.

Проектировщик форм. У каждого Windows-приложения должно быть хотя бы одно окно.

Lazarus при первом запуске автоматически предлагает пользователю новый проект, открывая пустую форму под названием Form1, и назначает его главным окном.

1 5

Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его.

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

В этом уроке мы познакомились с основными инструментами разработки программ. В следующем уроке мы напишем свою первую программу.

Задание для самостоятельного выполнения

1. Скачать и установить на своем домашнем компьютере среду программирования Lazarus по указанной в начале урока ссылке.

2. Посмотреть видеоурок: «Lazarus. Ввод в курс дела», из которого вы узнаете о различиях проектов Lazarus и Delphi.

Источник

Lazarus 2.0.12

Бесплатная среда по разработке программного обеспечения

Приветствуем на сайте Lazarus IDE

Windows 10 min

Основные Возможности

Окружающая среда Lazarus подходит для всех разработчиков и особенно для тех, кто намерен создавать программы с нуля. Интерфейс программы очень прост, как для новичков, так и для тех кто уже занимается программированием на профессиональном уровне. Этого удалось достичь принципом перетаскивания выбранного компонента. Программа позволяет создавать приложения с помощью перетаскивания всех необходимых элементов и помещать их в специальные окна. Большим преимуществом этой программы является возможность компиляции для любых операционных систем (Windows, OSX, Linux и Windows CE).

Очередным преимуществом программы является быстрый переход между различными интерфейсами и системами обеспечения библиотеки интерфейса. На данный момент, Lazarus поддерживается следующими типами интерфейсов: WIN32 GDI, GTK + 1.2.x (Unix, Mac OS X), GTK + 2.x, Qt 4 (C ++) и Windows. К тому же, Лазарус является одним из немногих инструментов, в отличии от своих конкурентов, который может создавать приложения для ПК (Windows CE, Qtopia).

Windows 8 min

Особенностью приложения является полностью самостоятельное API, как только вы напишите свой собственный код, вы можете просто подключить его с помощью API. Возможности проекта, например:

Если вы создаете продукт на Windows, используя стандартные виджеты Windows, сначала нужно определится какой набор виджетов вы хотите использовать. Затем скопируйте код на ваше устройство Linux разработки, компиляции и ссылки с GTK + интерфейсного блока. Вот и все — вы только что создали версию вашего продукта для Linux на Windows с помощью Lazarus без какого-либо дополнительного кодирования.

Пример работы с Лазарус

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

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

Со временем автора намерены добавить полную поддержку PalmOS и Symbian OS. Программа доступна как на русском так и на украинском языке.

Уроки программирования

Как говорится лучше один раз увидит чем 100 раз услышать. Лазарус это отличная программа с помощью, которой вы сможете создавать полезные и функциональные приложения и качественные проекты. Изучение Лазарус не займет у вас много времени, но все же мы настоятельно рекомендуем вам заняться изучением этой программы с помощью видео уроков, где вы начнете с самых азов и спустя некоторое время самостоятельно сможете создавать свои собственные приложения. У нас на сайте есть отличная рубрика видео уроков в которой мы приготовили для вас только лучшие и практичные уроки по работе с Лазарус. Для начала предлагаем вам первый видео урок ознакомления и обзора данной программы.

Версия Лазарус

На сегодняшний день актуальная версия 2.0.12. Следующее обновление будет под версией 2.0.14. В этом обновлении вас ожидает значительное улучшение и модернизирование программы, а так же перевод Лазарус на многие языки.

Немножко истории

Проект стартовал в феврале 1999 г. Основателями были три частных лица:

Все трое пытались создать проект Megido, который в итоге не осуществился. В отчаянии они начали проект Lazarus. На сегодня этот проект имеет постоянный рост благодаря участию сторонних разработчиков. Сами же создатели уже не участвуют в проекте.

Скачать последнюю версию

Скачать последнюю версию Lazarus IDE вы можете в специальном разделе на нашем сайте.

Источник

Lazarus Faq/ru

Примечание: Этот FAQ может быть устаревшим в некоторых частях.

Contents

Общее

Почему получаемые бинарные файлы очень большие?

Бинарные файлы очень большие из-за того, что включают в себя много отладочной информации для использования в отладчик gdb (GNU Debugger). Компилятор имеет настройку для удаления отладочной информации из исполняемого файла (-Xs), но из-за ошибки в компиляторе (версия 2.0.2 и ниже) она не работает корректно. Ошибка исправлена в версиях компилятора 2.0.4 и выше.

Вы можете использовать программу «strip» для удаления отладочной информации из исполняемых файлов. Она находится в каталоге Lazarus’а: lazarus\pp\bin\i386-win32\.

10 МБ/сек на Pentium 133).

Для использования upx наберите «upx » в командной строке.

После использования strip и upx простая GUI программа на Lazarus’е получается:

Для более детальной информации о недостатках использования UPX обратитесь к статье Размер имеет значение. Также нужно отметить, что «hello world» программы lazarus уже включают в себя множество возможностей, таких как:

Всё это делает приложение большим, но это так же и включает всё, что может потребоваться нетривиальному приложению.

Начальный размер исполняемого файла Lazarus велик, однако растёт в дальнейшем довольно медленно. Проект на С++ (это для примера, но относится и к другим языкам / инструментальные средства тоже), сначала очень маленький (типа «Hello world»), но быстро растет по экспоненте, когда Вы добавляете дополнительные возможности, чтобы написать нетривиальное приложение.

Lazarus vs cpp

Краткое руководство по уменьшению размера Lazarus/FPC приложения (проверено в Lazarus 0.9.26)

УСТАРЕЛО: Почему компоновка такая медленная в Windows?

Эта проблема свойственна лишь старым версиям: FPC 2.2 и Lazarus 0.9.24. Пожалуйста обновите Лазарус. Всё написанное здесь относится только к старым версиям.

В общем, компоновка на Windows занимает больше времени, чем на других платформах, потому что GNU компоновщик под эту операционную систему очень медленный. FPC (2.2) использует этот компоновщик при сборке программ. Эта проблема возникает только на Windows и только на слабых компьютерах (с процессором частотой менее 1ГГц и/или оперативной памятью меньше 128 Мегабайт)

Также, если вы используете умную компоновку (smartlinking), общее время компиляции так же увеличиться. Подробнее об этом можно прочитать здесь: File size and smartlinking

Для решения этой проблемы, был разработан внутренний компоновщик. Он есть во всех версиях FPC, начиная с 2.2. Его использование позволило в значительной степени сократить общее время компиляции. Внутренний компоновщик используется только при компиляции для Windows системы.

Мне нужен ppc386.cfg или fpc.cfg?

Вам нужен только fpc.cfg. В нем указаны пути, по которым компилятор будет искать библиотеки.

Как я могу скомпилировать lazarus?

Как собирать LCL проекты без Lazarus-а?

Эта утилита используется для сборки проектов и lazarus-пакетов (packages).

Какая версия FPC требуется?

Версия 2.4.0 для всех операционных систем.

Я не могу скомпилировать Lazarus

При компиляции проекта возникает ошибка:

«Cannot find Unit interfaces». Как можно это исправить?

Ошибка возникает потомучто компилятор не может найти ‘interfaces.ppu’ или он найден, но он поврежден, неправильной версии или просрочен.

Этот модуль может находиться в \lcl\units\\\interfaces.ppu. Например: /home/username/lazarus/lcl/units/i386-linux/gtk/interfaces.ppu.

Убедитесь, что он только здесь. Если находятся несколько версий interfaces.ppu, то вы возможно получите неверную конфигурацию (к примеру добавлен каталог lcl в список путей поиска). Удалите все interfaces.ppu, оставьте только тот что в каталоге указаном выше.

Если вы выберете другой widgetset, то при пересборке lazarus, понадобится пересобрать LCL для этого widgetset.

Когда я пытаюсь откомпилировать проект Delphi в lazarus, я получаю сообщение об ошибке

Ошибка на строке :<$R *.DFM>. Как мне решить эту проблему?

Пожалуйста, помните, что не все свойства объектов, описанные в dfm-файлах, поддерживаются Lazarus, и часть из них может вызвать падения IDE.

Примечание: Вы не получите этой ошибки, начиная с версии Lazarus 0.9.29 (SVN) при использовании FreePascal 2.4.0 и выше. Компилятор этой версии умеет включать такие ресурсы в исполняемый файл на всех платформах. Тем не менее, проблема несовместимости отдельных свойств от этого не исчезает.

Ошибка: ‘Identifier not found LazarusResources’.

При создании формы Lazarus автоматически добавляет некоторые необходимые модули в секцию uses вашего модуля, содержащего форму. После конвертации из Delphi в модуле могут отсутствовать необходимые ссылки. В данном конкретном случае вам необходимо добавить в секцию uses модуль LResources.

При обращении к событиям объектов, например OnClick объекта button, я получаю следующую ошибку: ERROR unit not found: stdCtrls

Как внедрять содержимое небольшого файла в исполняемый файл? Как внедрять ресурсы?

создаст sound.lrs из sound1.wav и sound2.wav.

Потом включите его *после* lrs-файла формы:

В Вашей программе эти ресурсы можно использовать следующим образом:

Что означают различные расширения файлов, используемые Lazarus?

Глава Lazarus Tutorial#The Lazarus files разъясняет назначение некторых расширений. Вот их краткий список:

Когда я пишу var mytext: text;, чтобы объявить текстовый файл, я получаю ошибку «Unit1.pas(32,15) Error: Error in type definition». Как можно это исправить?

Класс TControl содержит свойство Text. В методе формы используется типText из модуля system. Вы можете использовать тип TextFile, который всего лишь является другим названием типа Text, или можете добавить модуль при объявлении (см. в примере):

Сходный конфликт имен существует и при связывании и закрытии текстового файла. TForm имеет методы assign и Close. Вместо них вы можете использовать AssignFile и CloseFile, или же добавлять имя модуля System (System.Close, System.Assign).

Я получаю ошибку при использовании Printer.BeginDoc

Модуль Printers должен быть добавлен в секцию uses.

Пакет Printer4Lazarus должен быть добавлен в зависимости Вашего проекта в IDE: Project|Project Inspector|Add|New Requirement|Package Name:

Если пакета Printer4Lazarus нет в списке пакетов, то Вам нобходимо установить его. Пакет является частью установки Lazarus и может быть найден по следующему пути: [каталог установки lazarus]\components\printers

Если Вы используете стандартный путь для установки Lazarus’а, то [каталог установки larazus] находится:

Данное решение также применимо, если Вы получаете исключения при использовании Printer.Printers

TForm.Width/Height не включают границ окна, поскольку не существует способа получить размер этих границ на всех платформах. Без надёжного способа LCL будет перемещать формы по всему экрану или бесконечно изменять их размер.

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

Отладка

Как увидеть отладочные сообщения?

В модуле LCLProc в LCL есть две процедуры для вывода отладочных сообщений. Они называются:

то отладочные сообщения будут выводится в c:\lazarus\debug.txt.

Так как это реализовано в lclproc, любое приложение использующее lclproc может использовать этот механизм вывода отладочных сообщений.

Отладка Lazarus-а Наиболее полезно для Windows: Если вы хотите выводить сообщения в консоль, добавьте <$APPTYPE console>в lazarus.pp ; После чего перекомпилируйте Lazarus.

Как мне просмотреть значение свойств?

Вам нужно использовать самую последнюю версию FPC из исходников (2.5.1) или релиз 2.4.0. Любая версия позднее указанных, так же подойдёт.

Внимание: это возможно, только для тех свойст, которые напрямую связан с членом класса, директива «read» указывает на переменную, а не метод.

Если свойство возвращает значение через функцию, то достаточно опасно проверять её значение. Риск заключается в том, что для проверки её значения требуется вызвать процедуру или функцию, что может привести к изменению других значений и/или данных. А это значит, что данные изменились в режиме отладки, и дальнейшее исполнение программы, будет отличаться от работы без отладчика.

Проверка свойства по результату функции (как описана выше), ещё не реализована.

Почему отладчик не показывает некоторые переменные или структуры (выдавая ошибки «no such symbol»/»incomplete type»)

Как я могу проводить отладку компонентов и пакетов FCL с помощью Lazarus

Этот пример предпологает, что у вас Linux дистрибутив с установленным FPC в папке /usr/local/ и вам необходимо включить отладочную информацию для пакета fcl-db. По аналогии с пакетом fcl-db, используемом в данном примере, вы можете применить эти команды для ЛЮБЫХ пакетов, содержащихся в дистрибутиве.

При создании скрипта для установки модулей в папку INSTALL_PATH/lib/fpc/$fpcversion/units/$fpctarget/, вы должны быть уверены, что /usr/local это путь установки FPC, и он должен быть присвоем INSTALL_PREFIX, в противном случае Make-скрипт установи модули в неправильную папку или вообще завершится с ошибкой.

Step 1: Открыть терминал и набрать терминале
Step 2: cd /user/local/share/src/fpc-2.3.1/fpc/fcl-db/
Step 3: sudo make clean all install INSTALL_PREFIX=/usr/local OPT=-gl

В конце, после пересборки любого FCL пакета, вам возможно необходимо будет пересобрать LCL.

Contributing / Making Changes to Lazarus

Я создал патч для пристыковки окна сообщений IDE к окну «Редактор исходного кода» (снизу)

Менеджер стыковки может сохранить это расположение и восстановить его при следующем старте. Предпочтительно, если менеджер может работать не только с окнами, но и со страницами редактора кода. Менеджер стыковки не требует использования drag&drop. Все патчи реализующие стыковку без менеджера стыковки усложняют реализацию настоящего менеджера стыковки и потому будут отклонены.

В качестве временного решения можно использовать это расширение IDE: Manual Docker

Я исправил/улучшил Lazarus. Как добавить мои изменения в официальный код Lazarus?

Создайте патч и пришлите его разработчикам. Более подробную информацию смотрите здесь Creating A Patch/ru.

How can I become a Lazarus developer and access management in the SVN and bug-tracker?

First of all: you must learn about Lazarus, to prove your knowledge and skill. Start by reading the wiki articles, read the Lazarus source code, giving a look at the Lazarus Bug-Tracker, fix some bugs, and if you think you are ready, contact the developers on the mailing list.

Константы виртуальных клавиш

Константы виртуальных клавиш (VK_UP, VK_ESCAPE и т.д ) объявлены в LCLType. Добавьте LCLtype в uses секцию.

Использование среды разработки

Как я могу использовать «завершение идентификаторов»?

Чтобы вызвать окно завершения идентификатора нажмите [ctrl][space] (по умолчанию для Windows и Linux).

Вы можете настроить автоматическое появление этого окошка в пункте меню Окружение->Редактор->Code Tools->Автоматические функции

Linux

Как выполнить отладку в Linux без IDE?

I can debug now but ddd does not find my sources or complains that they contain no code. Whats that?

This is a path-related problem with either gdb or ddd. You can avoid this by

How can I convert a kylix 2 project into a lazarus project?

Nearly the same way as converting a Kylix project into a Delphi/VCL project.

The LCL (Lazarus Component Library) tries to be compatible to Delphi’s VCL. Kylix’s CLX tries to be QT compatible. Here are some general hints:

When compiling lazarus the compiler can not find a unit. e.g.: gtkint.pp(17,16) Fatal: Can’t find unit GLIB

1. Check a clean rebuild: do a ‘make clean all’

2. Check if the compiler has the correct version (2.0.4 or higher)

3. Check if the compiler is using the right config file. The normal installation creates /etc/fpc.cfg. But fpc also searches for

/.fpc.cfg, /etc/ppc386.cfg and it uses only the first it finds.

4. Check if the config file (/etc/fpc.cfg) contains the right paths to your fpc libs. There must be three lines like this:

If you want to add the lcl for all your fpc projects, make sure that the two paths look like the following and are placed after the above fpc lib paths:

6. Check if the missing unit (glib.ppu) exists in your fpc lib directory. For example the gtk.ppu can be found in /usr/lib/fpc/$fpcversion/units/i386-linux/gtk/. If it does not exists, the fpc lib is corrupt and should be reinstalled.

7. Check if the sources are in a NFS mounted directory. In some cases the NFS updates created files incorrectly. Please, try to move the sources into a non NFS directory and compile there.

8. If you are still not succeeded try to use samplecfg script as follows:

I have installed the binary version, but when compiling a simple project, lazarus gives: Fatal: Can’t find unit CONTROLS

Probably you are using a newer fpc package, than that used for building the lazarus binaries. The best solution is to download the sources and compile lazarus manually. You can download the source snapshot or get the source via svn:

Make sure that lazarus get the new source directory: Environment->General Options->Files->Lazarus Directory Top

Lazarus компилируется, но компоновка прерывается с ошибкой: libgdk-pixbuf not found

Для решения проблемы нужно установить библиотеку gdk-pixbuf library для gtk1.x:

Библиотека gdk-pixbuf может быть найдена:

Debian пакет: libgdk-pixbuf-dev

Ранние версии SuSE (до SuSE 11) устанавливали gtk библиотеки devel в директорию /opt/gnome/lib (или /opt/gnome/lib64 для 64-й версии), что не является общепринятым путём для библиотек.

Для решения проблемы, вы можете добавить этот путь библиотеки в конфигурационный файл FPC (/etc/fpc.cfg), следующей строкой:

Лазарус после установки компонента падает с ошибкой runtime error 211

После установки компонента Лазарус падает со следующей ошибкой:

Установленный компонент использует потоки. FPC не включает поддержку многопоточности автоматически на *nix системах, по-этому её необходимо включать вручную. Её включение происходит использованием модуля cthreads. Любое приложение, использующее такой компонент должна использовать этот модуль, причём он должен быть первым подключаемым модулем в программе. Лазарус так же не является исключением.

Подключить модуль cthreads можно двумя способами:

1) Откройте пакет. В редакторе пакетов нажмите на Параметры (Options). Во вкладке Использование (Usage) добавьте настройкуПользовательские (custom) и запишите -dUseCThreads. Пересоберите Лазарус. В этом случае модуль cthreads подключиться автоматически для unix систем.

Когда я запускаю программу, использующую потоки (threads), я получаю сообщение об ошибке «runtime error 232»

Полное сообщение выглядит так:

У меня Ubuntu Breezy/Mandriva KDE3 и шрифты в Lazarus IDE выглядят слишком большими

Попробуйте следующее: Создайте файл с именем «.gtkrc.mine» в домашней директории (если он не существует) и внесите в него данный текст:

Примечание: Если Lazarus был скомпилирован с использованием библиотеки Gtk1.2, то настройка шрифтов в Gtk2 не будет влиять на отображение текста в нём.

Как подключать и использовать сторонние файлы ресурсов (*.rc) в GTK приложении?

Вариант 1. Переименуйте файл ресурсов (rc) мой_ресурс.rc в имя_программы.gtkrc и поместите в папку с исполняемым файлом программы.

Вариант 2. Подключите модуль GtkInt в секцию uses исходного кода проекта (*.lpr), и допишите код

перед вызовом Application.Initialize.

Вариант 3. Используя модуль gtk2 вызовите метод gtk_rc_parse(‘имя_файла_ресурса’) а также gtk_rc_reparse_all.

I have Ubuntu and I cannot compile for Gtk2 due to missing libraries

Ubuntu has a problem with not creating all the symbolic links that you’ll need even when the libraries are installed. Make sure that all missing libraries when trying to link for Gtk2 have their appropriate links. For instance, you might need to do:

Make sure that the [whatever].so symbolic links are created and point to the actual libraries.

How can I compile a program for Gtk2?

At the moment, the Gtk2 compiled IDE is a little unstable, but you can compile software for Gtk2 using the Gtk1 IDE.

To start with recompile LCL for Gtk2. Go to the menu «Tools»->»Configure Build Lazarus» and set LCL to clean+build and everything else to none.

Now click Ok and go to the menu «Tools»->»Build Lazarus»

Now you can compile your software with Gtk2 going on the Compiler options and changing the widgetset to Gtk2.

I get this message: «[WARNING] ** Multibyte character encodings (like UTF8) are not supported at the moment.»

Since revision 10535 (0.9.21) this message doesn’t exist anymore. Previously it was used to warn that a UTF-8 encoding was used. The internal keyhandling routines for the gtk1 widgetset couldn’t handle such encoding for keypresses, with the result that keypresses with for instance accented chars were not or wrong detected.

(original text for older versions of lazarus)
This warning message indicates that your locale enconding is set to utf-8. If you are using Gtk 1 this can be a serious problem and prevent the correct working of Lazarus or software created with Lazarus.

To work around this, just change your locale to a non utf-8 before executing the program on the command line, like this:

Substitute pt_BR with the locale for your country. You can create a script to automate this.

Windows

&_was_unexpected_at_this_time.»> When I cycle the compiler, I get:The name specified is not recognized as an internal or external command, operable program or batch file.>& was unexpected at this time.

In the compiler directory there is an OS2 scriptfile named make.cmd. Different versions of Windows also see this as a script file, so remove it since what is needed for OS2 becomes a hindrance on Windows.

I don’t know why but somehow make has lost its path. Try to cycle with a basedir set like: make cycle BASEDIR=your_fpc_source_dir_herecompiler

When I try to make Lazarus I get:

make.exe: * * * interfaces: No such file or directory (ENOENT). Stop.make.exe: * * * [interfaces_all] Error 2

You need to upgrade your make.

makefile:27: *** You need the GNU utils package to use this Makefile. Stop.

Make sure you didn’t install FPC in a path with spaces in the name. The Makefile doesn’t support it.

How can I give my program an XP look like lazarus has?

Когда я запускаю Windows программу, созданную в Lazarus-е, открывается консольное (DOS) окно

Mac OS X

Why does compiling a project fail with ‘unknown section attribute: no_dead_strip’?

Dead code stripping is not supported by the assembler and linker before Xcode 1.5 (available for Mac OS X 10.3.9). Disable the compiler options

Лицензирование

Могу ли я создавать коммерческие приложения, используя Lazarus?

Могу ли использовать в коммерческих приложениях дополнительные компоненты Lazarus?

В составе Lazarus есть дополнительные компоненты, разработанные участниками сообщества. Некоторые из этих компонентов распространяются под лицензиями, отличными от лицензии самого Lazarus. Если вы используете такие компоненты, вы должны уточнить их лицензию. Обычно необходимое пояснение приводится в исходном коде файлов соответствующего пакета. Большинство дополнительных компонентов от сторонних разработчиков можно найти в подкаталоге «components» основного каталога Lazarus.

Как я могу узнать, что компонент является частью LCL?

Все модули LCL размещаются в подкаталоге «lcl». Также доступен список модулей, входящих в LCL. Если в вашем коде вызываются модули, которых нет в этом списке, вероятно, вы используете компонент, не являющийся частью LCL.

Могу ли я создавать коммерческие плагины для Lazarus?

Да, the IDEIntf part of the IDE is licensed under the LGPL with the same exception, so that shared data structures in this part will not force you to license your plug-in or design-time package under the GPL. You are free to choose a plug-in of any license; we don’t want to limit your choice. Therefore non-GPL compatible plug-ins are allowed. Note that it’s not allowed to distribute a precompiled Lazarus with these non-GPL-compatible plugins included statically; however, we do not see this as a severe limitation, since recompiling Lazarus is easy.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • lazarus параметры запуска приложения
  • lazarus консольное приложение linux