Консольное приложение с невизуальными компонентами

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Консольное приложение с невизуальными компонентами

Сообщение Вадим »

Подскажите, пожалуйста, как в консольном приложении можно использовать невизуальные компоненты, например TTimer?
С созданием приложений с окнами проблем нет, все компилируется и работает без всякого явного указания путей, но при попытке откомпилировать консольный проект ни среда разработки, ни компилятор не знает где искать юниты, содержащие нужные классы компонентов.

Попытался прописывать в путях компилятора проекта то, что не находится, но это оказывается увлекательным занятием - кажется нет конца файлам, которых не может найти компилятор.

Такое впечатление, что нельзя использовать в консольном приложении невизуальные компоненты.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

про таймер обсуждалось. (10 сообщение)

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

если про линукс то там не получится, вернее написать то можно, а использовать на машине без Х не получится.
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Спасибо за ссылку, я не догадался по таймеру поискать.
Есть над чем подумать.
Использую Lazarus 0.9.25, fpc 2.2.0 на Linux.
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Нашел заменитель TTimer для консольных приложений - это unit fpTimer.
В примерах есть также модуль testtimer.pp
{
A generic timer component. Can be used in GUI and non-GUI apps.
Based heavily on an idea by Graeme Geldenhuys, extended so
the tick mechanism is pluggable.

Note that the system implementation will only work for timers
in the main thread, as it uses synchronize to do the job.
You need to enable threads in your application for the system
implementation to work.

A nice improvement would be an implementation that works
in all threads, such as the threadedtimer of IBX for linux.
}
Ответить