Динамические библиотеки в Free Pascal
Модератор: Модераторы разделов
-
bum
- Сообщения: 138
- ОС: Ubuntu 8.04
Динамические библиотеки в Free Pascal
Прошу помощи. Есть такой вопрос. Нужно вынести из основной программы функции для осуществления ввода/вывода в терминале. Впринципе вроде ничего сложного, создал библиотеку, скомпилировал, научил основную программу обращаться к нужным функциям в ней. Но, если я начинаю использовать в своей библиотеке модуль Crt (впрочем и с ncurses то же самое), то после завершения основной программы в терминале невозможно больше ничего сделать, он перестает реагировать на ввод пользователя. Если я эти функции вношу внутрь основной программы, то все нормально, но мне они нужны именно внешними чтобы можно было подсовывать программе разные библиотеки по необходимости. Есть ли у кого-то какие-либо идеи?
Ubuntu-блог: http://korkholeh.blogspot.com/
-
drag0n
- Сообщения: 156
- Статус: Дракон-линуксоид
- ОС: Slackware Linux
Re: Динамические библиотеки в Free Pascal
В ncurses для возврата терминала в обычное состояние, перед завершением работы, вызывается следующая функция:
Подробнее - читайте документацию по ncurses.
Код: Выделить всё
endwin ();Подробнее - читайте документацию по ncurses.
После каталога /etc понимаешь, что реестр - место, откуда нормальными не возвращаются.
-
bum
- Сообщения: 138
- ОС: Ubuntu 8.04
Re: Динамические библиотеки в Free Pascal
Не помогает. Вернее, пока функция находится в теле основной программы, то все прекрасно, но как только я ее выношу во внешнюю DLL так сразу и получается такая проблема. Даже не пойму куда копать.
Попробовал использовать Escape-последовательности. Работает. Наверное придется выкручиваться с их помощью и писать модуль подобный crt самому.
Попробовал использовать Escape-последовательности. Работает. Наверное придется выкручиваться с их помощью и писать модуль подобный crt самому.
Ubuntu-блог: http://korkholeh.blogspot.com/
-
bum
- Сообщения: 138
- ОС: Ubuntu 8.04
Re: Динамические библиотеки в Free Pascal
Все. Проблему решил переписав с нуля нужные мне функции из модуля crt. Похоже, что это в стандартных модулях баг какой-то закрался.
Ubuntu-блог: http://korkholeh.blogspot.com/