![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
abstracts methods
321 © (2009-01-09 10:50:00)Как такое сделать. Написал класс-наследник от TForm в котором присутствуют абстрактные методы. Так вот, хочу сделать чтобы при наследовании от моего класса на этапе компиляции выводитлись Hint, в случае если абстрактный метод не объявлен. С выводом Hint'ов понятно, а как проверить объявлен ли абстрактный метод
Игорь Шевченко (2009-01-10 01:36:00) [1]"Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса"
Плохиш (2009-01-09 15:42:00) [2]Да он, ССЗБ, варнинги отключил.
Юрий Зотов (2009-01-09 14:33:00) [3]Пишем:
procedure TForm1.FormCreate(Sender: TObject);
begin
TStrings.Create;
end;
При компиляции получаем:
[Warning] Unit1.pas(27): Constructing instance of 'TStrings' containing abstract method 'TStrings.Clear'
[Warning] Unit1.pas(27): Constructing instance of 'TStrings' containing abstract method 'TStrings.Delete'
[Warning] Unit1.pas(27): Constructing instance of 'TStrings' containing abstract method 'TStrings.Insert'
Что еще нужно?
321 (2009-01-09 13:46:00) [4]
> Только непонятно, зачем вообще все это, если неперекрытые
> абстрактные методы и так отлавливаются, когда нужно
Странно, а у меня почему-то не отлавливаются. Может потому-что наследник от моего класса-формы создается не вручную, а через Auto-createForms
Юрий Зотов (2009-01-09 13:31:00) [5]То есть, Вы хотите эксперт IDE написать?
Насколько помню, у IOTANotifier есть метод BeforeCompile - в нем и рулить можно.
Только непонятно, зачем вообще все это, если неперекрытые абстрактные методы и так отлавливаются, когда нужно.