IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Модули, Пару вопросов.
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


Написал программу с использованием модулей.Всё на 100 % правильно.Компилирую,пишет: "Cannot run a unit" , хотя написал всё правильно.А когда в другой программе пытаюсь использовать его,он пишет,что не найден.В чём ошибка/проблема?!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Может, прикрепишь этот модуль?
Возможно, раз выдает ошибку, что-то все же неправильно...


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
Компилирую,пишет: "Cannot run a unit"
Значит, ты не компилируешь, а запускаешь... А модули нельзя запускать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


а как его компилировать,чтобы сохранялся в файле TPU в определенной директории?!

Добавлено через 1 мин.
чтобы можно было использовать модуль в определенный момент?!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 86
Пол: Мужской

Репутация: -  0  +


Цитата(Rom1k @ 14.05.2007 22:29) *

а как его компилировать,чтобы сохранялся в файле TPU в определенной директории?!


ты его запустил, после этого у тебя скомпилировался фаил ИМЯ.o и ИМЯ.PPU в той дериктории, где у тебя лежал исходник. Если хочешь запустить исходную прогу, в которой будет использоваться Модуль, то все файлы должны лежать в одной директори.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






В меню зайди Options -> Directories... Там тебя интересуют 2 поля: EXE&TPU Directory - это та папка, куда будут компилироваться EXE и TPU файлы (во что компилировать - Паскаль разберется сам, по исходнику)

И поле Unit Directories - это те пепки, где Паскаль будет искать TPU файлы... Если в это поле добавить через точку с запятой содержимое поля "EXE&TPU Directory", то Паскаль будет искать TPU и в той папке, куда сам их скомпилировал...

Если первое поле оставить пустым, то TPU будет создан в текущей папке...

Добавлено через 2 мин.
Renbo, ты разделом не ошибся? Какие *.PPU? Какие *.O? Обязательно еще больше человека запутать? mad.gif

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 86
Пол: Мужской

Репутация: -  0  +


Я *.PPU Написал, а хотел *.TPU, описочка, упс rolleyes.gif

А *.o появляется, если ты модуль в FreePascal компилишь
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


volvo спасибо. А вот ещё вопрс.Я создал модуль,т.е написал его. Что мне с ним делать дальше.Нажимаю ctrl + F9 ,выводит:
Изображение
нажимаю просто F9,выводит вот это:
Изображение
не могу разобратся,что делать дальше.А когда пытаюсь в следующей программе связаться с этим модулем,он мне пишет:
Изображение

не пойму,что делать дальше(

Добавлено через 7 мин.
я не понимаю каие кнопки мне надо нажать и что вообще делать надо далее?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






А, вот в чем у тебя дело... У тебя TPU модуля не находится по самой банальной причине: ты компилируешь в память (видишь, в окошке, написано Destination: Memory), а от модуля в памяти проку мало - его запускать же нельзя... Зайди (по-моему) в меню Compile, и если Destination показывает Memory (а оно-таки показывает), то щелкни на Destination, оно изменится на Disk... (Совсем забыл про это, дело все в том, что я использую не TURBO.EXE, а TPX.EXE, там нельзя компилировать в память вообще - только на диск)...

После этого перекомпилируй сначала модуль, а потом - программу... Или сделай Compile -> Make (нажми F9), чтобы все файлы, для которых есть исходники, но нет TPU, перекомпилировались автоматически... Тогда должно работать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


Всё сделал,как вы сказали,теперь вот что пишет:
Изображение
blink.gif blink.gif blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Вот эта папка: D:\PROG\TP7\TPU на диске существует? Или ее нет?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пионер
**

Группа: Пользователи
Сообщений: 119
Пол: Мужской

Репутация: -  0  +


Всё.Там моя вина.Н существующий путь был указан.всё работает.вызывающая программа вызывает все модули и правильно работает с ними.спасибо!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Цитата(Rom1k @ 15.05.2007 21:57) *

volvo спасибо. А вот ещё вопрс.Я создал модуль,т.е написал его. Что мне с ним делать дальше.Нажимаю ctrl + F9 ,выводит:
Изображение
нажимаю просто F9,выводит вот это:
Изображение



Аналогичная ситуация, подскажите пожалуйста. В поле Destination пишет Disk, но все равно при нажатии CTRL+F9, пишет cannot run a unit.
Еще вопрос: имя модуля при вызове должно совпадать с именем файла .TPU?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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;
я получу ошибку о несоответствии имени...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 7
Пол: Женский

Репутация: -  0  +


Спасибо большое за детальное пояснение. Очень помогло
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.09.2020 6:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name