![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Darbort |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Я пишу программу, которая работатет, как сервис. В сервисе есть поле (TEdit) в которое нужно ввести данные, НО при нажатии на клавиши в поле ничего не печатается! Причём копки "Delete", "Home", "End" прекрасно работают (контекстное меню работает, если вставить с помощью него текст, то всё прекрасно отображается). Проблема не только с TEdit, но и с остальными стандартными компонентами ввода.
Сервис делал стандартными средствами Delphi. Можно ли что-нибудь сделать?... |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Можно. Семнадцатую строчку попровь
![]() -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Не писать сервисы с формами ввода. -------------------- |
|||
|
||||
Darbort |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Спасиб пацаны, вы здесь все такие умные?
![]() |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Я тебе ответил максимально точно и корректно. Коли после этого у тебя только такие вопросы возникают, то что ж тут поделаешь. -------------------- |
|||
|
||||
Dimannn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 14.4.2005 Где: Владимир Репутация: нет Всего: 1 |
Это как именно? Скорее всего не принимаюся сообщения для окон. Прочти Флейм, Флуд, САБЖ, ИМХО и т.д., Разъяснение терминов -------------------- Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут? Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru |
|||
|
||||
Darbort |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Какой тут код приводить? SvcMgr.pas постить что ль? ![]()
Это выход? Не смеши... - Я не умею плавать. - Так не учись... Тоже самое по-моему. Самому не нравится в сервисе форму юзать, но по другому ещё хуже ![]()
File->New->Other... Потом ServiceApplication В общем я пока понял, что не обрабатываеются сообщения WM_CHAR; Попробывал сделать так: Бросил TTimer на форму и в OnTimer:
Как ни странно заработало ![]() Появилась идея не перехватывать всё в подрят, а только нужное ![]() То есть procedure HKlav(var msg: TMessage); message WM_CHAR; Но на WM_CHAR он не реагирует, может какое ещё сообщение? Это сообщение отредактировал(а) Darbort - 7.5.2006, 23:31 |
||||||||
|
|||||||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Именно выход. Сервис не предназначен для программирования с VCL. И вообще для оработы с окнами. А если ты хочешь все-таки писать интерфейс с пользователем именно в сервисе - забудь про VCL. Да и это будет "через задний проход". -------------------- |
|||
|
||||
XSInet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 4.1.2006 Репутация: нет Всего: нет |
Это делается в while цикле. Пиши на WinAPI |
|||
|
||||
Darbort |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Согласен, это просто извращение писать сервис с VCL...
В общем или WinAPI или на два приложения разделять (через мессаги им общатся, кста никто не знает, как через пайпы параметры передавать? Возможно ли это? Проверить на вторую копию легко, а с передачей что-то не выходит), то есть два раза "через задний проход" ![]()
Ну, если я сделаю так, то прога будет бесконечно долго в подвешенном состоянии ![]() Всё же ещё помучась... прям загадка, даже OnKeyDown для TEdit сробатывает, а дальше ни в какую. Как всегда ![]() |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Можно это обойти, написав:
![]() -------------------- Ll 2 |
|||
|
||||
Darbort |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Нет, ну вы меня окончательно прикалываете ![]() У TApplication в SvcMgr.pas НЕТ ProcessMessages! Если использовать TApplication из Forms, то процедура ProcessMessages работает не корректно, если не сказать вообще не работает. То есть буковки печатаются, а всё остальное виснет включая рабочий стол... ![]() |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Писать сервис в VCL - не извращение. Извращение - писать сервис с пользовательским интерфейсом. Я ж написал - если тебе так нужен интерфейс с пользователем в сервисе - реализуй этот интерфейс в окнах WinAPI32. Тебе нужна глючная программа? - Тогда используй VCL для этого. Добавлено @ 12:19 А давать советы для написания заведомо глючной программы - уволь. -------------------- |
|||
|
||||
Darbort |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.5.2006 Репутация: -1 Всего: нет |
Увольняю
![]() Спасиб всем. |
|||
|
||||
Dimannn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 14.4.2005 Где: Владимир Репутация: нет Всего: 1 |
Я писал - у меня всё было нормально, ничё не глючило. -------------------- Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут? Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |