powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как поменять Caption в TabSheet через FindComponents
9 сообщений из 9, страница 1 из 1
как поменять Caption в TabSheet через FindComponents
    #39536531
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет

sclassname:=(FindComponent(dmmall.mdual.fieldbyname('langaction').AsString)).classname;

if sclassname='TBitBtn' then (FindComponent('NameButBtn') as TBitBtn).Caption:='блаблабла'; - этот и куча других компонентов работает без проблем

if sclassname='TTabSheet' then (FindComponent('NameTabSheet') as TTabsheet).Caption:='блаблабла'; - не работает
ошибка вот здесь (FindComponent('NameTabSheet') as TTabsheet).Caption как будтто нет компонента NameTabSheet. NameTabSheet - лежит на PageControl, создан статично в Delphi, не динамически в тексте

что за фигня? попытки привязать Form1. ... результата не дают

Спасибо
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536533
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть TTabsheet с именем 'NameTabSheet' ?
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536535
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'langaction' - это по каковски ?
'NameButBtn' - это вероятно BitBtn
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536537
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

есть, он создан не программно, а в самом Delphi и я уже специально сделал текстовую переменную, где вытаскиваю типы
sclassname:=(FindComponent(dmmall.mdual.fieldbyname('langaction').AsString)).classname;
можно вытаскивать имена
были Ribbon-ы, потом я решил уйти от них, причины разные, поставил PageControl и тут началось, сначала не понял, потом давай смотреть

if sclassname='TTabSheet' then - для всех сделал, получаю ошибку именно по TabSheet

у меня мысли такие, что где то Parent теряется, но в отладчике все на месте

(FindComponent('NameTabSheet') as TTabsheet).Caption

NameTabSheet - есть
FindComponent('NameTabSheet') as TTabsheet - находит

как ставлю свойство, например Caption, так тут же ошибка
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536539
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,


sclassname:=(FindComponent(dmmall.mdual.fieldbyname('langaction').AsString)).classname;

это имена компонентов из базы, они правильно выводятся .

тут все просто, есть визуальные компоненты, в зависимости от выбранного языка и компонента, заполняется Caption нужного языка

вот как раз при появлении имени TabSheet появилась ошибка
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536540
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при том фишка, если тупо засунуть все в try except, то тот же Caption присваивается везде, кроме TTabSheet
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536546
Freedoom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
yemets63, для поиска TabSheet - лежит на PageControl нужно использовать PageControl.FindComponent
А (FindComponent('NameTabSheet') as TTabsheet).Caption в проверках можно использовать если гарантированно нужный класс. В противном случае, сначала нужно проверить на соответстве типу с промощью IS
...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536566
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё работает

...
Рейтинг: 0 / 0
как поменять Caption в TabSheet через FindComponents
    #39536593
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно не забывать, что Owner у компонентов обычно сама форма а Parent - компонент, в котором выбранный компонент лежит
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как поменять Caption в TabSheet через FindComponents
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]