On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 4956
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.06.16 15:13. Заголовок: Минигуи и терминалка хХарбора .... ?


Сделал главное меню на МиниГуи.
На нем несколько кнопочек, по нажатию - запускает терминалку на хХарборе.

Если на главной форме МиниГуи выводится (горит) надпись с мерцанием (объект LABEL свойство BLINK .T. ) то в терминалке блокируется обработка клавиш, т.е. по нескольку раз приходиться нажимать....
Начинает "дурить" - nKeyAch := LASTKEY(INKEY_KEYBOARD)...

Если отключить BLINK - то проблем нет !
В чём проблема ?





Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


постоянный участник


Пост N: 1202
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 03.06.16 16:35. Заголовок: Andrey пишет: В чём..


Andrey пишет:

 цитата:
В чём проблема ?


Проблема в реализации режима мерцания. Ни _ShowControl, ни _HideControl, вызываемые по таймеру каждые 500 ms, не учитывают текущее активное окно.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4957
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.06.16 18:03. Заголовок: Петр пишет: Проблем..


Петр пишет:

 цитата:
Проблема в реализации режима мерцания. Ни _ShowControl, ни _HideControl, вызываемые по таймеру каждые 500 ms, не учитывают текущее активное окно.



И что теперь, нужно править исходники МиниГуи чтобы этот "глюк" убрать ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1203
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 03.06.16 18:24. Заголовок: Andrey пишет: И что..


Andrey пишет:

 цитата:
И что теперь, нужно править исходники МиниГуи чтобы этот "глюк" убрать ?


Это нужно Григория спросить, считается это глюком или нет.
Я так понял, до сих пор никто и не жаловался особо.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4959
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.06.16 18:31. Заголовок: Петр пишет: Я так п..


Петр пишет:

 цитата:
Я так понял, до сих пор никто и не жаловался особо.



Да у меня уже года 2 такая фигня идёт... Всё руки не доходили... Мигающая надпись светиться у меня в одном случае, когда нужно обновить прогу с сайта.
А сейчас хотел сделать подсветку для юзера в другом месте и опять терминалка тормозит, клавиши функциональные заедают, по 3-5 раз клавишу нажимать надо, пока среагирует...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1001
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 03.06.16 18:48. Заголовок: Andrey пишет: И что..


Andrey пишет:

 цитата:
И что теперь, нужно править исходники МиниГуи чтобы этот "глюк" убрать ?



Закоменти вызов DoEvents() в конце исходника _ShowControl() и пересобери библиотеку
Хотя не уверен, у меня этот эффект не удалось воспроизвести.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 995
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.06.16 10:17. Заголовок: Haz пишет:Закоменти ..


Haz пишет:
 цитата:
Закоменти вызов DoEvents() в конце исходника _ShowControl() и пересобери библиотеку


Для пробы (так проще) поставь свой TIMER на окно (вместо blink .T.) и в нем вызывай по очереди
ShowWindow( <hWnd>, SW_HIDE )
ShowWindow ( <hWnd> )
где hWnd - handle label сообщения
или устанавливай значение в label "" и "нужный текст" по очереди
SetWindowText ( <hWnd>, value )


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4960
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.06.16 14:55. Заголовок: SergKis пишет: Для ..


SergKis пишет:

 цитата:
Для пробы (так проще) поставь свой TIMER на окно (вместо blink .T.) и в нем вызывай по очереди


Классная идея ! Спасибо !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5047
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.08.16 16:35. Заголовок: Вопрос по взаимодейс..


Вопрос по взаимодействию терминалки и МиниГуи.

В терминалке хХарбора делаю (добавляю) запись в базу-журнала.
Как в МиниГуи отловить событие записи в базу-журнала терминалки.

Сейчас делаю это по таймеру (1,2... минуты). Но не хочется так.
Может есть другие варианты ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5964
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.08.16 16:56. Заголовок: Andrey пишет: Как в..


Andrey пишет:

 цитата:
Как в МиниГуи отловить событие записи в базу-журнала терминалки.


По таймеру например , можно чекать Lastrec() базы раз в 1 секунду , или какой то флаг
выставлять (например пробнуть прикрутить мьютекс).

Dima пишет:

 цитата:
По таймеру например , можно чекать Lastrec() базы раз в 1 секунду


Это я не дочитал ))

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1251
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 14.08.16 18:31. Заголовок: Andrey пишет: Вопро..


Andrey пишет:

 цитата:
Вопрос по взаимодействию терминалки и МиниГуи.



Если терминалка - это консольное (т.е. с текстовым интерфейсом (TUI)) приложение Windows, написанное с использованием xHarbour, а МиниГуи - графическое приложение, написанное на Harbour, использующее для построения графического интерфейса библиотеку MiniGUI, то взаимодействие между ними вполне вписывается в понятие межпроцессорное взаимодействие
Используйте любой доступный вам метод из таблицы внизу этой статьи.


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 169
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет