Как запустить внешнее приложение с Free Pascal / Lazarus (используя Windows)? Я нашел «официальный» справочная страница, с несколькими реализациями и примерами. Хотя я уверен, что это работает для многих людей, я, с моим текущим уровнем знаний, кое-что потерял (у меня еще не так много рутинного программирования с Free Pascal, и другие примеры, которые я нашел в Интернете, не работали для мне).
Есть ли «наглядный» пример, который поможет мне сделать «первые шаги»? Спасибо.
Комментарии (9)
Такой вопрос ничего не добавляет сайту. Все, что вам нужно было сделать, это немного постараться. Не тратьте 5 минут, сдавайтесь и спрашивайте здесь. Программировать сложно. Вам нужно вложить время и силы.
Ответ находится прямо в документации, на которую вы ссылались !!
Код в вашем ответе можно найти в этой документации, а также много другой полезной информации, четко написанной. Я сказал все, что хочу.
Я не понял примера в справочнике. В отличие от вас, для меня этого было недостаточно, отсюда и причина моего вопроса. И это «вся прочая информация» меня в первую очередь запутала.
Lazarus Установка и настройка Pascal в Windows. Одно окно
Пример в документации точно такой же, как и код в вашем ответе!
Что не сработало?
Marco van de Voort
Как уже сказано в ответе («если вам не нужен трубопровод»), существуют просто разные сценарии. В любом случае, я рад, что проблема решена.
Источник: reddeveloper.ru
Lazarus не запускает программу
Сейчас пытаюсь открыть под Линуксом проект который писался под Виндовсом, при открытии проекта лазарус падает.
Запустил лазарус из консоли и снова открыл этот проект, вывод в консоль:
(lazarus:2605): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)’ failed
(lazarus:2605): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)’ failed
(lazarus:2605): Gdk-WARNING **: gdkdrawable-x11.c:952 drawable is not a pixmap or window
Как починить проект что б он открылся?
Добавлено спустя 1 час 42 минуты 15 секунд:
Вычислил что проблемма кроется в lfm файле. но в чём дело не знаю
Re: Вылетает лазарус при попытке открыть проект!
Если на форме есть «нестандартные» компоненты (не входящие в сборку Lazarus по умолчанию), можно попробовать удалить их из lfm и создать динамически в коде программы.
Если все компоненты «стандартные», и Lazarus из snapshot’ов — можно попробовать обновиться.
Re: Вылетает лазарус при попытке открыть проект!
qivi писал(а): Вычислил что проблемма кроется в lfm файле. но в чём дело не знаю
У меня было так, что иногда форма записывалась с совершенно диким значением ширины одной из компонент и при загрузке лазарь вылетал, поскольку возникало деление на ноль.
Кроссплатформенная разработка с Lazarus/ObjectPascal/Delphi. Программирование #ityoutubersru
Я тогда тупо пролистывал файл формы и менял значение на любое малое.
Re: Вылетает лазарус при попытке открыть проект!
Не все компоненты стандартные, лазарь не снапшотный. Интерфейса очень много, пересобирать всё заново очень не хочется.
Почему то под Виндовс проект открывается нормально, а под линукс падает лазарус при загрузке проекта.
Re: Вылетает лазарус при попытке открыть проект!
qivi писал(а): Почему то под Виндовс проект открывается нормально, а под линукс падает лазарус при загрузке проекта.
У меня такое было при наличии на форме компоненты подключения к БД (UIB) с явным указаниме имени библиотеки (fbclient.dll) и активным состоянием подключения.
В линуксе этой библиотеки естственно не было и в момент загрузки формы при попытке подключения компонента кидала исключение — лазарь перехватывал это исключение и говорил об ошибке загрузки формы.
- Профиль
- Сайт
- ICQ
Re: Вылетает лазарус при попытке открыть проект!
Выявил проблемму.
У меня использовались табы (в изобиллии т.к. интерфейс был очень загруженный и в перспективе должен был рости). один из нестандартных компонентов под линуксом не принимает ни один из табов лазаруса за родителя
Буду пробовать пересобирать на фреймах. писец.
Источник: www.freepascal.ru
Ошибка отладчика Lazarus в AstraLinux
После успешной компиляции приложения в Lazarus под AstraLinux и попытке запуска появляется сообщение об ошибке отладчика: «Отладчик не смог запустить приложение». При этом окно подробностей ничего внятного не сообщает:
Причина
Вероятнее всего в таком случае виновата блокировка системных вызовов ptrace, которая активируется по-умолчанию, если не убрать соответствующую галочку при установке AstraLinux.
ptrace (от process trace) — системный вызов в Linux, который позволяет трассировать или отлаживать выбранный процесс. ptrace дает полный контроль над процессом: можно изменять ход выполнения программы, смотреть и изменять значения в памяти или состояния регистров. При этом никаких дополнительных прав не получаем — действия ограничены правами запущенного процесса.
Решение
Необходимо отключить блокировку ptrace. Сделать это можно под админом в графическом интерфейсе: Панель управления — Безопасность — Политика безопасности. Далее открываем раздел Настройки безопасности — Системные параметры. Нас интересует галочка «Блокировка трассировки ptrace для всех пользователей«. Её необходимо убрать:
После этого применяем изменения и перезагружаемся. После перезагрузки отладчик должен заработать как положено.
То же самое можно выполнить и в терминале (например, по SSH). Для проверки состояния выполняем команду:
$ systemctl is-enabled astra-ptrace-lock
Если ответ «enabled», значит блокировка включена. Выключаем её:
$ sudo astra-ptrace-lock disable $ sudo reboot
Данная статья проверялась для AstraLinux SE 1.7.2
Источник: 19dx.ru