![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| AlexV1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 27.1.2003 Репутация: нет Всего: нет |
Всем привет!
В ф-ю нужно передать объект любого типа (TEdit, integer, real, TForm и т.д) 1) Какого типа должени быть вх.параметр ? 2) В функции как-то нужно отделить тип от класса, т.е запрограммировать такую логику IF (вх.параметр от TWinControl) then действие0 else if (вх.параметр - обычная переменная, напр-р integer или string) then begin // Определяем тип этой переменной, например через VarType if тип=1 then действие1 if тип=2 then действие3 ... if тип=N then действиеN end; =С уважением, AlexV. |
|||
|
||||
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
procedure my_procedure(sender : tobject);
begin if sender is TWinControl then showmessage(inttostr(Sender as Twincontrol).top)); if sender is TEdit then showmessage((Sender as TEdit).text); end; -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Лажа какая-то, уж извените
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Вот тебе пример из жизни, точнее из моей библиотеки:
TForm здесь не присутствует, однако, бывают случаи, когда требуются и универсальные манипуляции и с TForm. -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| Unregistered |
|
|||
|
Unregistered |
Cashey самый жизненный пример Sender:TObject. Было бы весело, если бы передавалось имя сендера (это вообще не всегда возможно!). :-D
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Можно попробовать использовать перегрузку:
Например, если сделать вызов abc(StringGrid1), то вызовется вариант abc(p : TWinControl); -------------------- С уважением, г-н Посол. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Перегрузка катит только когда тип компонента известен уже на этапе компиляции.
-------------------- Все знать невозможно, но хочется |
|||
|
||||
![]()
|
| Правила форума "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. |