![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Доступно ли новое имя для компоненты? [D7, WinXP]
Yegorchic © (2005-08-18 23:28:00)Здравствуйте! Подскажите, как определить, доступно ли какое-то имя для компоненты. Т.е. я измения имя компоненты в run-time, и мне надо проверить ,можно ли задать такое имя или нет (не занято ли оно или ещё что). Спасибо.
Турист (2005-08-19 22:37:00) [1]>Leonid Troyanovsky © (19.08.05 09:00) [3]
procedure TComponent.ValidateRename(AComponent: TComponent;
const CurName, NewName: string);
begin
if (AComponent <> nil) and not SameText(CurName, NewName) and
(AComponent.Owner = Self) and (FindComponent(NewName) <> nil) then
raise EComponentError.CreateResFmt(@SDuplicateName, [NewName]);
if (csDesigning in ComponentState) and (Owner <> nil) then
Owner.ValidateRename(AComponent, CurName, NewName);
end;
Leonid Troyanovsky (2005-08-19 09:00:00) [2]
> Yegorchic © (18.08.05 23:28)
> Здравствуйте! Подскажите, как определить, доступно ли какое-то
> имя для компоненты. Т.е. я измения имя компоненты в run-time,
> и мне надо проверить ,можно
VCL Reference
TComponent.ValidateRename
--
Regards, LVT.
Yegorchic (2005-08-18 23:40:00) [3]А... точно! Совсем забыл про Components[i]...Спасибо.
Defunct (2005-08-18 23:35:00) [4]1. try-except
2. пробежаться по списку всех компонент контейнера (Components[i])