Написал программу с использованием модулей.Всё на 100 % правильно.Компилирую,пишет: "Cannot run a unit" , хотя написал всё правильно.А когда в другой программе пытаюсь использовать его,он пишет,что не найден.В чём ошибка/проблема?!
Может, прикрепишь этот модуль?
Возможно, раз выдает ошибку, что-то все же неправильно...
а как его компилировать,чтобы сохранялся в файле TPU в определенной директории?!
Добавлено через 1 мин.
чтобы можно было использовать модуль в определенный момент?!
В меню зайди Options -> Directories... Там тебя интересуют 2 поля: EXE&TPU Directory - это та папка, куда будут компилироваться EXE и TPU файлы (во что компилировать - Паскаль разберется сам, по исходнику)
И поле Unit Directories - это те пепки, где Паскаль будет искать TPU файлы... Если в это поле добавить через точку с запятой содержимое поля "EXE&TPU Directory", то Паскаль будет искать TPU и в той папке, куда сам их скомпилировал...
Если первое поле оставить пустым, то TPU будет создан в текущей папке...
Добавлено через 2 мин.
Renbo, ты разделом не ошибся? Какие *.PPU? Какие *.O? Обязательно еще больше человека запутать?
Я *.PPU Написал, а хотел *.TPU, описочка, упс
А *.o появляется, если ты модуль в FreePascal компилишь
volvo спасибо. А вот ещё вопрс.Я создал модуль,т.е написал его. Что мне с ним делать дальше.Нажимаю ctrl + F9 ,выводит:
нажимаю просто F9,выводит вот это:
не могу разобратся,что делать дальше.А когда пытаюсь в следующей программе связаться с этим модулем,он мне пишет:
не пойму,что делать дальше(
Добавлено через 7 мин.
я не понимаю каие кнопки мне надо нажать и что вообще делать надо далее?
А, вот в чем у тебя дело... У тебя TPU модуля не находится по самой банальной причине: ты компилируешь в память (видишь, в окошке, написано Destination: Memory), а от модуля в памяти проку мало - его запускать же нельзя... Зайди (по-моему) в меню Compile, и если Destination показывает Memory (а оно-таки показывает), то щелкни на Destination, оно изменится на Disk... (Совсем забыл про это, дело все в том, что я использую не TURBO.EXE, а TPX.EXE, там нельзя компилировать в память вообще - только на диск)...
После этого перекомпилируй сначала модуль, а потом - программу... Или сделай Compile -> Make (нажми F9), чтобы все файлы, для которых есть исходники, но нет TPU, перекомпилировались автоматически... Тогда должно работать...
Всё сделал,как вы сказали,теперь вот что пишет:
Вот эта папка: D:\PROG\TP7\TPU на диске существует? Или ее нет?
Всё.Там моя вина.Н существующий путь был указан.всё работает.вызывающая программа вызывает все модули и правильно работает с ними.спасибо!!!!!
unit reallylongname;, и откомпилировать. Будет создан файл REALLYLO.TPU, но чтобы подключить модуль я должен использовать полное имя:
interface
implementation
end.
uses reallylongname;При попытке сделать
uses reallylo;я получу ошибку о несоответствии имени...
Спасибо большое за детальное пояснение. Очень помогло