Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 73
от 20.03.2005, 19:10

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 4


Вопрос № 18283: Как программно узнать какие пользователи подключины к БД (Interbase) и активны в текущий момент? Всем СПАСИБО....
Вопрос № 18298: Здравствуйте! Есть следующая задача: необходимо для каждого контрола на форме выполнить определенные действия, для этого нужно итеративно пройтись по всем контролам. Но проблема в том, что Код 1, который приведен в приложении работает только для ...
Вопрос № 18324: Здравствуйте! Еще один вопрос: необходимо отлавливать изменение свойства Enabled=True|False у всех контролов на форме. Дельфа для изменения этого свойства использует метод TControl.Perform, который посылает сообщение CM_ENABLEDCHANGED напрямую в ...

Вопрос № 18283
Как программно узнать какие пользователи подключины к БД (Interbase) и активны в текущий момент?
Всем СПАСИБО.
Отправлен: 14.03.2005, 22:26
Вопрос задал: Ton (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: rusfaq.ru
Здравствуйте, Ton!
Помоему это вопрос в SQL :)
TIBDtaBaseInfo.UserNames;
Ответ отправил: rusfaq.ru (статус: 2-ой класс)
Отправлен: 14.03.2005, 23:08


Вопрос № 18298
Здравствуйте!
Есть следующая задача: необходимо для каждого контрола на форме выполнить определенные действия, для этого нужно итеративно пройтись по всем контролам. Но проблема в том, что Код 1, который приведен в приложении работает только для контролов, расположенных непосредственно на самих формах, а не на панели, тулбаре или чем-то подобном. Собственно вопрос: как добраться до этих контролов? В то же время Код 2, который по идее рекурсивно должен спускаться до самого низкого уровня, вылетает с exception. Я так понимаю, проблема в различиях между классами TWinControl и TControl при их преобразовании. Подскажите, может кто сталкивался с чем-то подобным.

Приложение:

Отправлен: 15.03.2005, 08:32
Вопрос задал: banshee (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, banshee!
Может быть для каждого контрола сделать проверку, может ли он содержать другие контролы. Например, тот же тулбар явно может. :) Т.е., другими словами, если контрол имеет тип тулбар или, допустим, панель, то он, в свою очередь, проходится по всем содержащимся на нем контролам.
Это идея в общем виде. Для конкретной ее реализации нужно знать, на Вашей форме содержится какой-то фиксированый набор компонентов или они могут быть разных типов?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 15.03.2005, 10:06


Вопрос № 18324
Здравствуйте!
Еще один вопрос: необходимо отлавливать изменение свойства Enabled=True|False у всех контролов на форме. Дельфа для изменения этого свойства использует метод TControl.Perform, который посылает сообщение CM_ENABLEDCHANGED напрямую в WindowProc контрола, минуя очередь сообщений Windows (т.е. ни Application.OnMessage, ни HookMainWindow, ни другие способы отлавливания не работают). Собственно вопрос: как это событие отловить? Возможно ли переопределить метод TControl.Perform или WindowProc сразу для всех потомков TControl. Или может есть другие способы?
Отправлен: 15.03.2005, 18:50
Вопрос задал: banshee (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Malish
Здравствуйте, banshee!
Дай мне адресс почты, и я тебе вышлю описание сообщений и как ими упровлять.
Там найдешь:
-типы сообщений;
-принципы работы системы сообщений;
-систему обработки сообщений в Delphi;
-обработку сообщений;
-описание OnMessage класса Tapplication;
-описание Perform;
-функции API SendMessage() PostMessage();
-нестандартные сообщения;
ну и тд.
Вообщем все что тебе надобудет от сообщений на много лет вперед.
Удачи!!!!!
Ответ отправил: Malish (статус: 3-ий класс)
Отправлен: 15.03.2005, 20:59

Отвечает: sir henry
Здравствуйте, banshee!
Честно говоря над этим я никогда не думал, но наверно можно подойти к ситуации с другой строны, например периодически проверять свойство Enabled у нужных Вам компонентов. :)
Если нужно проверять у всех компонентов, то кинуть проверку в цикл обхода компонентов формы.
Perform переопределить нельзя. А вот в качестве WindowProc Вы можете написать свою процедуру. Однако делать потомка от TControl я Вам не советую, гемору будет много, придется переопределять и потомков. :) Лучше в цикле присвоть каждому Вашу WindowProc.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 16.03.2005, 05:45


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное