Форум: "Компоненты";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Внизизменить область видимости метода Найти похожие ветки
← →
Kray1 (2005-10-19 14:11) [0]Хочу сделать не видимым для других форм метод формы ShowModal.
Нашел такой путь:
Type
TForm1 = class(TForm)
private
function ShowModal: Integer; override;
end;
function TForm1.ShowModal: Integer;
begin
Result := inherited ShowModal;
end;
какие есть другие способы изменения области видимости методов объектов?
Что не корректного есть в этом методе?
Причина: в большом проекте много обращений, хочу что бы в дальнейшем никогда и никто не вызвал метод ShowModal формы из других модулей, только через спец. методы
← →
Digitman © (2005-10-19 14:16) [1]
> Что не корректного есть в этом методе?
этот способ не имеет ничего общего с изменением области видимости.
← →
Kray © (2005-10-19 14:58) [2]to Digitman ©
как тогда правильно изменить область видимости метода?
← →
Экспериментатор (2005-10-19 15:12) [3]никак
← →
Amoeba © (2005-10-19 15:13) [4]Сузить область видимости метода нельзя. RTFM.
← →
Юрий Зотов © (2005-10-19 15:41) [5]> Kray1 (19.10.05 14:11)
> Что не корректного есть в этом методе?
То, что он ничего не изменит.
> хочу что бы в дальнейшем никогда и никто не вызвал метод ShowModal
> формы из других модулей, только через спец. методы
Перекройте ShowModal и в нем, не вызывая унаследованного ShowModal, просто возбуждайте исключение (больше ничего). А унаследованный ShowModal вызывайте из Ваших спецметодов.
И получится как раз то, что Вам нужно, да еще и с автоматическим обнаружением прямого вызова ShowModal.
← →
Kray © (2005-10-19 17:22) [6]всем спасибо - все понятно
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c