![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Rom1k |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Написал программу с использованием модулей.Всё на 100 % правильно.Компилирую,пишет: "Cannot run a unit" , хотя написал всё правильно.А когда в другой программе пытаюсь использовать его,он пишет,что не найден.В чём ошибка/проблема?!
|
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Может, прикрепишь этот модуль?
Возможно, раз выдает ошибку, что-то все же неправильно... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Компилирую,пишет: "Cannot run a unit" Значит, ты не компилируешь, а запускаешь... А модули нельзя запускать... |
Rom1k |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
а как его компилировать,чтобы сохранялся в файле TPU в определенной директории?!
Добавлено через 1 мин. чтобы можно было использовать модуль в определенный момент?! |
Renbo |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: ![]() ![]() ![]() |
а как его компилировать,чтобы сохранялся в файле TPU в определенной директории?! ты его запустил, после этого у тебя скомпилировался фаил ИМЯ.o и ИМЯ.PPU в той дериктории, где у тебя лежал исходник. Если хочешь запустить исходную прогу, в которой будет использоваться Модуль, то все файлы должны лежать в одной директори. |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
В меню зайди Options -> Directories... Там тебя интересуют 2 поля: EXE&TPU Directory - это та папка, куда будут компилироваться EXE и TPU файлы (во что компилировать - Паскаль разберется сам, по исходнику)
И поле Unit Directories - это те пепки, где Паскаль будет искать TPU файлы... Если в это поле добавить через точку с запятой содержимое поля "EXE&TPU Directory", то Паскаль будет искать TPU и в той папке, куда сам их скомпилировал... Если первое поле оставить пустым, то TPU будет создан в текущей папке... Добавлено через 2 мин. Renbo, ты разделом не ошибся? Какие *.PPU? Какие *.O? Обязательно еще больше человека запутать? ![]() Сообщение отредактировано: volvo - |
Renbo |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 86 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я *.PPU Написал, а хотел *.TPU, описочка, упс
![]() А *.o появляется, если ты модуль в FreePascal компилишь |
Rom1k |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo спасибо. А вот ещё вопрс.Я создал модуль,т.е написал его. Что мне с ним делать дальше.Нажимаю ctrl + F9 ,выводит:
![]() нажимаю просто F9,выводит вот это: ![]() не могу разобратся,что делать дальше.А когда пытаюсь в следующей программе связаться с этим модулем,он мне пишет: ![]() не пойму,что делать дальше( Добавлено через 7 мин. я не понимаю каие кнопки мне надо нажать и что вообще делать надо далее? |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
А, вот в чем у тебя дело... У тебя TPU модуля не находится по самой банальной причине: ты компилируешь в память (видишь, в окошке, написано Destination: Memory), а от модуля в памяти проку мало - его запускать же нельзя... Зайди (по-моему) в меню Compile, и если Destination показывает Memory (а оно-таки показывает), то щелкни на Destination, оно изменится на Disk... (Совсем забыл про это, дело все в том, что я использую не TURBO.EXE, а TPX.EXE, там нельзя компилировать в память вообще - только на диск)...
После этого перекомпилируй сначала модуль, а потом - программу... Или сделай Compile -> Make (нажми F9), чтобы все файлы, для которых есть исходники, но нет TPU, перекомпилировались автоматически... Тогда должно работать... |
Rom1k |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всё сделал,как вы сказали,теперь вот что пишет:
![]() ![]() ![]() ![]() |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Вот эта папка: D:\PROG\TP7\TPU на диске существует? Или ее нет?
|
Rom1k |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 119 Пол: Мужской Репутация: ![]() ![]() ![]() |
Всё.Там моя вина.Н существующий путь был указан.всё работает.вызывающая программа вызывает все модули и правильно работает с ними.спасибо!!!!!
|
ALma |
![]()
Сообщение
#13
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
volvo спасибо. А вот ещё вопрс.Я создал модуль,т.е написал его. Что мне с ним делать дальше.Нажимаю ctrl + F9 ,выводит: ![]() нажимаю просто F9,выводит вот это: ![]() Аналогичная ситуация, подскажите пожалуйста. В поле Destination пишет Disk, но все равно при нажатии CTRL+F9, пишет cannot run a unit. Еще вопрос: имя модуля при вызове должно совпадать с именем файла .TPU? |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Цитата все равно при нажатии CTRL+F9, пишет cannot run a unit. Еще раз повторить? Нельзя запускать модули, что тут непонятного? Ctrl+F9 - это аналог Run -> Run из меню... Тебе надо откомпилировать модуль через Alt+F9, а запускать уже основную программу, кк которой этот модуль подключен...Цитата имя модуля при вызове должно совпадать с именем файла .TPU? Не обязательно... Имя файла TPU может содержать только 8 первых символов от имени модуля. Скажем, я могу в файл REALLYLO.PAS записать вот это:unit reallylongname;
interface
implementation
end.
, и откомпилировать. Будет создан файл REALLYLO.TPU, но чтобы подключить модуль я должен использовать полное имя:uses reallylongname;
При попытке сделатьuses reallylo;
я получу ошибку о несоответствии имени... |
ALma |
![]()
Сообщение
#15
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо большое за детальное пояснение. Очень помогло
|
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 2:19 |