![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
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 - 14.05.2007 21:41 |
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;, и откомпилировать. Будет создан файл REALLYLO.TPU, но чтобы подключить модуль я должен использовать полное имя: uses reallylongname;При попытке сделать uses reallylo;я получу ошибку о несоответствии имени... |
ALma |
![]()
Сообщение
#15
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо большое за детальное пояснение. Очень помогло
|
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 6:54 |