IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Программный поиск компонета в Delphi (https://www.imho.ws/showthread.php?t=56583)

/7y3uK 15.04.2004 13:43

Программный поиск компонета в Delphi
 
Допустим: Есть на форме PageControl, на каждой панели висит таблица TDBGrid, каждая из которых ,в свою очередь, берет данные из своего TDataSet, которые в свою очередь дают данные из своего TADOQuery (SQL запрос).
Задача - написать функцию, которая по активной панели путем поиска компонента с именем класса TDBGrid будет возвращать имя (Name) запроса TADOQuery. Заранее известно, что на каждой панели только одна таблица.

Можно, конечно, сделать тупым перебором (ручками), если активна 0, то Result такой-то и т.д. но хочется изящного решения :)

Может можно сделать даже проще, а я тут заморачиваюсь :) :)

is_absent 15.04.2004 14:08

/7y3uK
FindComponent кажется. или что-то в этом духе

/7y3uK 15.04.2004 15:34

FindComponent(Name:String) возвращает тип TComponent, а это родитель :) (предок) всех компонентов и он имеет только общие методы и свойства. Ну нашел я его, ну допустим по ClassName определил к какому он классу относится... А как обратится к его и только его свойствам? И, как в моем случае, передать ссылку дальше, в другой компонент, чтобы в конечном итоге через "третьи руки" выйти на искомый TADOQuery ?

is_absent 15.04.2004 15:40

/7y3uK
Compoments as TADOQuery :-)

Добавлено через 1 минуту:
Берешь это дело в скобочки. Ставишь точку и дальше по смыслу :)

/7y3uK 15.04.2004 15:43

2 @_is_absent
Цитата:

@_is_absent:
Compoments as TADOQuery
Вас ис дас? Сейчас попробую. Только понять бы как вот это работает :) :)

is_absent 15.04.2004 15:49

/7y3uK
это преобразование типов. :) в пятой и шестой дельфе работало на ура. про остальные не знаю. не писал :)

/7y3uK 15.04.2004 15:52

Ёу! 2 @_is_absent лови пятак!
каждый день узнаешь что-то новое, которое - есть забытое старое :)


Часовой пояс GMT +4, время: 16:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.