Компиляция модуля |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Компиляция модуля |
biba |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 19 Пол: Женский Репутация: 0 |
Как откомпилировать модуль, чтобы он из PAS'а превратился в TPU. Я когда подключаю модуль, то написано, что он не найден <_<
|
APAL |
Сообщение
#2
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Точно так же как и обычную программу.
-------------------- |
biba |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 19 Пол: Женский Репутация: 0 |
Цитата(APAL @ 7.09.04 20:45) Точно так же как и обычную программу. А что обычную программу тож компилируют Я прочитала, что нужно что-то в директории написать, но то что они предлагают, у меня даже такого пункта в Паскале нет |
Catty |
Сообщение
#4
|
Бывалый Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: 3 |
В меню Compile есть Make попробуй с помощью него!
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
Бродяжник |
Сообщение
#5
|
Бывалый Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
1) Обычно, если у нас, к примеру, есть файл Proga.pas с какой-то программой, которая использует модуль Modul, и есть файл Modul.pas, который содержит лично модуль Modul, то можно просто разместить их в одной директории, загрузить в Паскале файл Proga.pas и нажать F9. При этом Паскаль должен скомпилировать файл Modul.pas в Modul.tpu, скомпилировать в памяти основную программу и собрать окончательный EXE-шник Proga.exe (если в настройках Паскаля установлено, что нужно компилировать на диск). При этом файл Modul.tpu автоматически создается либо там же, где лежит Modul.pas, либо в директории, заданной в настройках Паскаля.
2) Если мы просто хотим скомпилировать Modul.pas в Modul.tpu, то это еще проще. Загружаем его в Паскаль, жмем F9... все! 3) Если у нас есть готовый Modul.tpu, то, чтобы им воспользоваться, его нужно поместить либо туда же, где находится основная программа, либо в специальную директорию, заданную в настройках Паскаля. 4) Пресловутые настройки. Главное меню->Options->Directories. Имеются пункты: EXE and TPU Directories - сюда будут попадать скомпилированные EXE и TPU. Include Directories - сюда можно класть файлы, подключаемые по {$i} Unit Directories - вот сюда можно класть "TPU частого использования" Object Directories - сам не знаю никогда не юзал 5) Все сказанное относится к 6-му Борландовскому Паскалю. А у Вас, кстати, какой? |
APAL |
Сообщение
#6
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Добавлю еще один вариант компиляции - консольный:
Набираете в командной строке TPC.EXE <имя вашей проги.PAS> происходит компиляция прямо в экзешник (при условии, что в проге нет ошибок) Цитата А что обычную программу тож компилируют Ну прям, открытие какое... :D Любой код программы компилируется (ну может за исключением машинного кода) -------------------- |
Altair |
Сообщение
#7
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Я когда подключаю модуль, то написано, что он не найден Как я понял, ситуация следующая: Вы написали модуль, и используете его в программе, и при запуске этой программы, выводится сообщение об ошибке (не найден модуль). Если так, то откройте текст модуля (File - open), и скомпилируйте (f9) --- А может у Вас просто нет модуля, который Вы пытаетесь использовать в программе? --- Или может быть следующая причина: компилятор не находит путь (при компиляции проги, в которой есть модуль) к модулям, тогда жмите OPTIONS - Directories... и выставляйте путь. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
P@sh@ |
Сообщение
#8
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: 2 |
biba
Поменяй пункт меню "Compile/Destination: Memory" на "Destination: Disk" (это относится не только к EXE, но и к TPU). Это если у тебя Turbo Pascal. Borland Pascal всегда компилирует на диск... |
MangaManiac |
Сообщение
#9
|
Гость |
У меня немного другая проблема. Нужно откомпилировать модуль, который в свою очередь использует другой модуль, который в свою очередь... И так далее. Компилируется только самый первый модуль, который ни к какому другому модулю не обращается. Остальные выдают, что модуль, который они используют не найден. Я менял директории, в которых следует искать модули, копировал тпушные файлы во все папки. И всё ревно - модуль не найден, хоть ты тресни! <_<
Кто-нибудь с подобным сталкивался? P.S. Эта проблема у меня как в Borland Pascal, так и в Turbo Pascal. Сообщение отредактировано: MangaManiac - |
APAL |
Сообщение
#10
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Попробуй компилировать поочередно, с хвоста цепочки - т.е. с самого "дальнего" модуля от главной программы.
-------------------- |
Altair |
Сообщение
#11
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
И еще не забываем правило для модулей:
Пусть А и Б модули, тогда: Если в строке uses модуля А прописан модуль Б, то в модуле Б не может быть в строке uses модуля А!!! Цитата Остальные выдают, что модуль, который они используют не найден Если выдается сообщение о том, что не найден, значит не найден! Значит его или нет, или путь к модулю не прописан! [offtop] Как-то в ФМШ, мы спросили у препода, что если Пролог (интерплитатор) при запуске выдает сообщение "нет" ? Ответ преподавателя: "Это или нет, или отстань от меня, дурак* " --- * - слово употребленно не в оскорбительной, а шутливой форме! :D [offtop] ЗЫ: то же с мессагой о том, что не найден! :D -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
GoodWind |
Сообщение
#12
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата P.S. Эта проблема у меня как в Borland Pascal, так и в Turbo Pascal. А это раэве не одно и то же ? -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#13
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата А это раэве не одно и то же ? Не совсем... В БП вообще-то больше возможностей ... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Бродяжник |
Сообщение
#14
|
Бывалый Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
К вопросу о перекрестных USES:
Код unit a; interface implementation uses b; end. {-------------------} unit b; interface implementation uses a; end. {-------------------} program c; uses a,b; begin end. ...компилируется без проблем. (ТР 6.0) |
Altair |
Сообщение
#15
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Так они здесь не в интерфейсной части описанны!
Так-то конечно компилируется, нельзя прописать их взаимно в Uses интерфейса!! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Бродяжник |
Сообщение
#16
|
Бывалый Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
Эт да.
|
where to buy zithromax for chlam |
Сообщение
#17
|
Гость |
Mochte Viagra Ausprobieren
|
Текстовая версия | 22.11.2024 20:13 |