![]() |
|
Модераторы: xvr |
![]()
|
|
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
Это кроссплатформенная библиотека, но работаю в никсах (и проблема тоже в никсах, в форточках не тестил) + пишу в домашнем для меня разделе
Есть такой код:
sdlgraph - мой модуль (http://itmo.vingrad.ru/files/sdlgraph/). SDL использует thread для создания окна. Запускаю test через konsole. Доходит до readln. Когда активно окно SDL, то при нажатии enter ничего не происходит, если же konsole - работает нормально. Если я запускаю через konqueror, то быстро выполняется и закрывается (не ждёт ввода). Мне нужно что-то с этим сделать. Так как я хочу совместимости с кодом для обычного graph. Но при этом желательно ограничиться изменениями в моём коде (а не SDL или fpc). Также надо, чтобы код был кроссплатформенным (или писать для никсов, винды и мака отдельно куски) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
думаю, тебе придется закрыть стандартный ввод в этом случае и заменить его каким-нибудь пайпом, например, в который будешь посылать события из потока окна.
|
|||
|
||||
| powerfox |
|
||||||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
Спасибо, а это мысль. Надо будет посмотреть в этом направлении. Закрывать ввод даже не надо. Мне просто нужно отлавливать ввод и перенапрвлять его. Только тогда проблема в другом...
И
А в closeGraph я могу killthread прописать. Вопрос в том, могу ли я создать канал из моего приложения, не трогая реализацию SDL? |
||||||
|
|||||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
почему нет? прописать прототип mkfifo()
на Pascal и вызвать (а можно и не писать прототип, если Pascal поддерживает ссылки на функции без прототипа) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
По-моему, тебе надо в реализации своей либы sdlgraph в initgraph() сделать замену текущего стандартного ввода на фифо канал, а в closegraph() - обратную замену и закрытие fifo. Т.о. тебе в initgraph() надо запускать поток работы с SDL и обработки событий, а в closegraph() его останавливать.
|
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
Ok, спасибо! На днях буду разбираться.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |