![]() |
Программный поиск компонета в Delphi
Допустим: Есть на форме PageControl, на каждой панели висит таблица TDBGrid, каждая из которых ,в свою очередь, берет данные из своего TDataSet, которые в свою очередь дают данные из своего TADOQuery (SQL запрос).
Задача - написать функцию, которая по активной панели путем поиска компонента с именем класса TDBGrid будет возвращать имя (Name) запроса TADOQuery. Заранее известно, что на каждой панели только одна таблица. Можно, конечно, сделать тупым перебором (ручками), если активна 0, то Result такой-то и т.д. но хочется изящного решения :) Может можно сделать даже проще, а я тут заморачиваюсь :) :) |
/7y3uK
FindComponent кажется. или что-то в этом духе |
FindComponent(Name:String) возвращает тип TComponent, а это родитель :) (предок) всех компонентов и он имеет только общие методы и свойства. Ну нашел я его, ну допустим по ClassName определил к какому он классу относится... А как обратится к его и только его свойствам? И, как в моем случае, передать ссылку дальше, в другой компонент, чтобы в конечном итоге через "третьи руки" выйти на искомый TADOQuery ?
|
/7y3uK
Compoments as TADOQuery :-) Добавлено через 1 минуту: Берешь это дело в скобочки. Ставишь точку и дальше по смыслу :) |
2 @_is_absent
Цитата:
|
/7y3uK
это преобразование типов. :) в пятой и шестой дельфе работало на ура. про остальные не знаю. не писал :) |
Ёу! 2 @_is_absent лови пятак!
каждый день узнаешь что-то новое, которое - есть забытое старое :) |
| Часовой пояс GMT +4, время: 16:38. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.