Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Delphi

Ответ
 
Опции темы
Старый 01.09.2013, 18:22   #1
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Как N классам присвоить один и тот же конструктор?

MyTForm = class(TForm)
public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
end;

MyTButton = class(TButton)
public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
end;

MyTEdit = class(TEdit)
public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
end;
Подскажите, как можно избежать описания одних и тех же процедур классов!?
Как можно сделать так, чтобы все классы юзали один описанный конструктор, но классы не наследуют друг друга...
Нужно чтобы в конструкторе вызвался мой код и потом конструктор родителя.

Как мне нужно построить код, чтобы не получилось типа такого !?
constructor MyTForm.Create(AOwner: TComponent);
begin
  inherited;
  MyCode();
end;

destructor MyTForm.Destroy;
begin
  MyCode();
  inherited;
end;

constructor MyTButton.Create(AOwner: TComponent);
begin
  inherited;
  MyCode();
end;

destructor MyTButton.Destroy;
begin
  MyCode();
  inherited;
end;

constructor MyTEdit.Create(AOwner: TComponent);
begin
  inherited;
  MyCode();
end;

destructor MyTEdit.Destroy;
begin
  MyCode();
  inherited;
end;

Чтобы процедуры были описаны единожды для все классов, чтобы не копипастить процедуры...
(Offline)
 
Ответить с цитированием
Старый 01.09.2013, 18:49   #2
Kolobok
Оператор ЭВМ
 
Аватар для Kolobok
 
Регистрация: 02.07.2010
Сообщений: 30
Написано 0 полезных сообщений
(для 7 пользователей)
Ответ: Как N классам присвоить один и тот же конструктор?

Придумал! Блин какой я гений... XD
Опишу что нужно отдельно, возле кода вызова конструктора...
Хотя это не решает мой вопрос, но это не плохая альтернатива...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 14:08.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com