Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2014, 20:17   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я если и использую такие приемы, то только в параметрах какому-нить плагину.
Хотя это пару раз то и было. А так чтоб в цельной программе. да еще и своей и не чужеписанной... Сомневаюсь что такие выкрутасы... вернее говоря сомневаюсь что я когда-нибудь пойду на такое.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.04.2014, 20:41   #22
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Stilet, без такого бывает и не обойдешься. Тот же TCollection и TCollectionItem
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.04.2014, 23:05   #23
WhiskasTM
Подтвердите свой е-майл
 
Регистрация: 11.04.2012
Сообщений: 85
По умолчанию

Такое пригодилось бы, когда делаешь помощника для работы с интерфейсом и разделяешь код. И в теории было бы так:
Код:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  end;

  TWorker = class(TForm1)
  private
    FLastButton : Integer;
    class procedure Thread(const P:Pointer);static;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Form1 methods
procedure TForm1.Button1Click(Sender: TObject);
begin
FLastButton := 0; //доступ к наследнику
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FLastButton := 1; //доступ к наследнику
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
FLastButton := 2; //доступ к наследнику
end;

//Worker methods
class procedure TWorker.Thread(const P:Pointer);

  procedure USER_CLICK_BUTTON_1;
  begin 
    Button1.Enabled := not Button1.Enabled;// доступ к предку
  end;

  procedure USER_CLICK_BUTTON_2;
  begin 
    Button2.Enabled := not Button2.Enabled;// доступ к предку
  end;

  procedure USER_CLICK_BUTTON_3;
  begin 
    Button3.Enabled := not Button3.Enabled;// доступ к предку
  end;


begin
with TWorker(P^) do
while True do
begin
  case FLastButton of
  1:USER_CLICK_BUTTON_1;
  2:USER_CLICK_BUTTON_2;
  3:USER_CLICK_BUTTON_3;
  end;
end;
end;
Этакий двусторонний класс, или хелпер для Form1 с возможностью расширять и поля.
WhiskasTM вне форума Ответить с цитированием
Старый 05.04.2014, 10:19   #24
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

чтобы было при компиляции придумали всякие дженереки и т.п. штуки
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к полям класса -спискам zl@dey Общие вопросы C/C++ 1 31.03.2012 04:06
доступ к полям GridView Алек Помощь студентам 0 23.12.2011 16:03
Доступ к БД через Internet yulia Работа с сетью в Delphi 3 04.03.2009 00:44
Доступ к полям компонента TTable с большими целыми числами AleksP Общие вопросы Delphi 6 13.10.2008 18:41