| imho.ws |
![]() |
|
|
|
# 1 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
Программный поиск компонета в Delphi
Допустим: Есть на форме PageControl, на каждой панели висит таблица TDBGrid, каждая из которых ,в свою очередь, берет данные из своего TDataSet, которые в свою очередь дают данные из своего TADOQuery (SQL запрос).
Задача - написать функцию, которая по активной панели путем поиска компонента с именем класса TDBGrid будет возвращать имя (Name) запроса TADOQuery. Заранее известно, что на каждой панели только одна таблица. Можно, конечно, сделать тупым перебором (ручками), если активна 0, то Result такой-то и т.д. но хочется изящного решения ![]() Может можно сделать даже проще, а я тут заморачиваюсь
|
|
|
|
|
# 3 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
FindComponent(Name:String) возвращает тип TComponent, а это родитель
(предок) всех компонентов и он имеет только общие методы и свойства. Ну нашел я его, ну допустим по ClassName определил к какому он классу относится... А как обратится к его и только его свойствам? И, как в моем случае, передать ссылку дальше, в другой компонент, чтобы в конечном итоге через "третьи руки" выйти на искомый TADOQuery ?
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|
|
|
|
# 5 | |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
2 @_is_absent
Цитата:
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|
|
|
|
|
# 7 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
Ёу! 2 @_is_absent лови пятак!
каждый день узнаешь что-то новое, которое - есть забытое старое
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|
|