qiviНачнём с конца.

qivi писал(а):Допустим система жалуется на "Graphics" или "LCLIntf" или "Controls" или т.д.,
Когда Вы начинаете свой новый проект в Lazarus, он не может жаловаться именно на эти модули, потому как
все без исключения программы в Lazarus строятся на модулях Graphics и Controls. В первом расположены общие процедуры рисования в графической среде (повторю ещё раз - Windows - среда графическая и всё что Вы видите на экране именно рисуется), а Controls - это набор стандартных компонентов на которых основаны
все без исключения видимые компоненты Lazarus'а, такие как формы, кнопки, поля редактирования и т.д. и т.п.. Именно поэтому при создании нового проекта они в шаблон проекта уже вставлены
по умолчанию, следовательно отсутствовать не могут в принципе. Мало того, если Вы обратите внимание на код проектов из Delphi, то увидите в строке
Uses те же самые модули. Поэтому совершенно неважно - начинаете ли Вы новый проект в Lazarus или собираетесь портировать проект из Delphi - эти модули будут объявлены в обязательном порядке, ибо на них строится
всё без исключения. Почему упоминается LCLIntf - для меня вообще загадка. Программистом напрямую он не используется, это служебный модуль для внутреннего пользования самого Lazarus'а.
Далее, в отличие от Delphi, где компилятор и среда разработки это одно целое, во FreePascal нет графической оболочки для разработки программ. Именно с целью иметь такую оболочку как в Delphi и был написан Lazarus. Что из этого следует? А следует из этого то, что, например, модуля Controls нет и не может быть в составе FreePascal, а есть он только в составе Lazarus. Надеюсь Вы уже поняли, что компилятор FreePascal и оболочка для программиста Lazarus - это два совершенно разных продукта.
Так почему же возникают ошибки типа:
Допустим система жалуется на "Graphics" или "LCLIntf" или "Controls" или т.д.,
?
Причины две:
1. Либо Вы пытаетесь откомпилировать проект вне среды Lazarus,
2. Либо Вы каким то совершенно непостижимым для меня способом умудрились неправильно установить Lazarus так, что он при установке растерял все свои собственные модули.

Как это дело поправить?
Если Вы устанавливали FreePascal отдельно, а Lazarus отдельно (впрочем, даже если и вместе

) с помощью программ типа setup, то удалите стандартным способом и FreePascal и Lazarus, возмите с FTP эти чудесные программы в едином комплекте (на сегодняшний день ссылка будет такая:
ftp://ftp.freepascal.org/pub/lazarus/Lazarus-0.9.27-18392-fpc-2.2.3-20090123-win32.exe, если же Вы сегодня скачивать не собираетесь, то просто заходите в каталог
ftp://ftp.freepascal.org/pub/lazarus/ и берёте там файл аналогичного названия, т.е. где присутствует "Lazarus-0.9.27" и "fpc-2.2.3", и "win32.exe" одновременно, только дата сборки меняется) и устанавливаете стандартным образом у себя в системе, т.е. запускаете скачанный экзешник. После этого можно приступать к работе ни о чём более не заботясь. В этом комплекте собраны и настроены все три составляющие:
- Lazarus со своими исходниками,
- компилятор FreePascal со своими исходниками,
- и то и другое в уже откомпилированном виде.
Как работать?
Если Вы пишете проект с формами и кнопками, то запускаете Lazarus, который предназначен для создания подобных проектов. В нём всё минимально необходимое уже включено по умолчанию. И, по-моему, даже TDBF уже есть на вкладке DataAccess. Если, к примеру, TDB на этой вкладке нету, то в меню Lazarus открываете "Пакет -> Открыть файл пакета (.lpk)", в открывшемся окне выбора файла заходите в каталог, куда Вы поставили Lazarus, далее каталог Componets, видите в нём каталог tdbf, заходите туда, а там лежит собственно и файл пакета, который необходимо установить - dbflaz.lpk. После выбора файла открывается окошко "Пакет dbflaz" и в этом окошке Вы увидите кнопку "Установить". Смело на неё жмёте, и ждёте, когда пакет откомпилируется и установится. Если всё прошло гладко (а в подавляющем большинстве случаев так оно и есть) Lazarus перезагружается сам собой и оп-ля - на вкладке "Data Access" появляется кнопка TDBF. Можно пользоваться.
Любые другие пакеты устанавливаются по тому же принципу.
Если Вы скачали какой-то дополнительный пакет, который не входит в стандартную поставку Lazarus'а, то кидаете каталог с пакетом опять в каталог Components и устанавливаете его тем же макаром.
-----------------------------------------------------
Вы вот можете подумать, что я так красочно всё расписываю и упрекаю Вас только потому, что с самого рождения знал, как работать с Lazarus'ом или меня лично консультируют сами разработчики Lazarus'а.

Отнюдь, дружище, отнюдь... Я пользуюсь элементарной логикой, которая и подсказывает мне все эти действия. Поверьте, ничего кроме логики здесь не нужно. Я могу спросить, к примеру, а какой компонент применять для работы базами данных типа DBF, если раньше с ними не работал. Мне скажут, так же как и Вам сказали. Но вот расспрашивать почему у меня компилятор выругался на отсутствие модуля в строке
Uses или на необъявленный тип данных мне и в голову не придёт, потому как я уже знаю, исходя из той же логики, что модуль, прежде чем использовать, надо подключить в строку
Uses, а соответствующий тип надо объявить или подключить опять же соответствующий модуль, где этот тип объявлен. Все эти вещи понимаются и запоминаются уже буквально на второй-третий день после начала занятий программированием. Это самая основа, без этого никуда не двинуться дальше и можно только бесконечно наступать на одну и ту же швабру.