![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Limonadni Joe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 1.11.2002 Где: Москва Репутация: нет Всего: 2 |
Пишу:
Но Delphi 7 не отображает во всплывающей подсказке свойство Caption, а если его всё-таки написать, то во время выполнения будет ошибка. Если написать вместо TControl, например, TLabel, то всё получается. Но у меня на форме много разнотипных элементов и писать для каждого цикл - лень. В справочнике по Delphi 6 написано, что свойство Caption принадлежит именно классу TControl. Может в седмой версии это изменилось. Если да, то подскажите способ перебора всех элементов с tag=1 и присваивания свойству Caption значения. Если нет, то почему так происходит? |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что-то я не совсем понял вопрос, надо всем элементам, hint сделать из названия Caption? Тогда можно так:
Будет работать даже для тех элементов для коих Caption не определена как Published (типа Edit или Memo) -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Limonadni Joe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 1.11.2002 Где: Москва Репутация: нет Всего: 2 |
Нужно было немного не это (я вообще-то меняю язык интерфейса). Подправил. Получилось. Спасибо.
А что значит TFake(Components[i])? |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Преобразование к классу предку, но в данном случае преобразование идёт к классу разрабатываемому в том же модуле, такой "обман" компиллятора, который даёт достучаться до Protected свойств класса. Для языка используй не перебор компонентов, а RTTI - это куда удобнее, и легче встраивать поддержку любых свойств "на лету", не меняя кода.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Limonadni Joe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 1.11.2002 Где: Москва Репутация: нет Всего: 2 |
А что такое RTTI и как это использовать? Конечная моя цель - перевод интерфейса на другой язык через ini файл. Может для этого есть ещё более лёгкий способ (но только через ini файл - другим людям будет легче делать перевод)?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
RTTI - это "Real time type info", для тебя это возможность обратится по имени свойства к содержимому свойства во время выполнения. При реализации тебе не надо будет заранее прописывать переводимые свойства, т.е. можно сделать типа
[MyFormName] ComponentName.Caption=My Caption При этом в обрабатывающем коде у тебя не будет ни упоминания поддерживаемых форм, ни объектов, ни свойств которые можно перевести, алгоритм будет следующим: 1) На взятой из ini форме найти компонент указанный в ini 2) В компоненте найти указанное свойство и присвоить указанное значение. Подробности здесь: http://www.lmc-mediaagentur.de/dpool/pascal02.htm -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |