Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Селф?   Найти похожие ветки 

 
init13 ©   (2004-06-02 21:26) [0]

Есть некий код, которій отрабатывает по нажатии кнопи, т.е.:

procedure TfMain.Button1Click(Sender: TObject);
begin
//
end;

Нужно теперь повторить тоже самое, например при создании формы. Но что б не переписывать готовую процедуру, а вызвать ту, что исполняется онБатонКлик. Делаю:

procedure TfMain.FormCreate(Sender: TObject);
begin
TfMain.Button1Click(Self.Button1); ясен пень не работает....
end;

Как? Подскажите...


 
YurikGL ©   (2004-06-02 21:27) [1]

Попробуй
TfMain.Button1Click(Self); ясен пень не работает....


 
init13 ©   (2004-06-02 21:28) [2]

не. тоже не выйдет....


 
Verg ©   (2004-06-02 21:31) [3]

TfMain....- шутишь?


> procedure TfMain.FormCreate(Sender: TObject);
> begin
> {TfMain.}Button1Click({Self.}Button1);{ ясен пень не работает....}
> end;


 
Подкрадуха ©   (2004-06-02 21:32) [4]

Попробуй не FormCreate, а FormShow


 
init13 ©   (2004-06-02 21:36) [5]

to [3] Verg
или
Button1Click(Self);
:)

ясно вопщем, намудрил... спасибо. :)


 
Anatoly Podgoretsky ©   (2004-06-02 21:52) [6]

Button1.Click;


 
evvcom ©   (2004-06-03 00:00) [7]

Если в FormCreate надо вызвать только обработчик Button1Click, то в инспекторе объектов на закладке Events на событие OnCreate формы fMain из списка сразу выбрать обработчик Button1Click. А TfMain.FormCreate в том виде, в каком он есть вообще не нужен.


 
Ske4er   (2004-06-03 01:44) [8]

Всегда делаю так:
fMain.Button1Click(Sender);


 
KSergey ©   (2004-06-03 07:00) [9]

> Ske4er   (03.06.04 01:44)
> Всегда делаю так:

Ну и напрасно


 
Sandman25 ©   (2004-06-03 09:06) [10]

[9] KSergey ©   (03.06.04 07:00)

Точно. Ненавижу, когда мне дают разбираться с другим кодом и там есть обработчики вида:

procedure TfmPluginMain.FormShow(Sender: TObject);
begin
 ...
 rbIntervalDatesClick(nil);
 clNalogRegNumChange(nil);
 clRegistrRegNumChange(nil);
 clReestrListNumReestrChange(nil);
 cbAllFormularsClick(nil);
end;

Потом полчаса сидишь и разбираешься, что они делают и зачем вызваны...
Нормальные имена давать надо, причем использовать не обработчики, а "обычные" методы


 
KSergey ©   (2004-06-03 09:47) [11]


> [10] Sandman25 ©   (03.06.04 09:06)

Вообще-то я скорее имел в виду вот это: fMain., хотя [6] Anatoly Podgoretsky ©   (02.06.04 21:52) вообще правее всех правых, по-моему, в плане ответа на вопрос.


 
Sandman25 ©   (2004-06-03 10:19) [12]

[11] KSergey ©   (03.06.04 09:47)

Я так не рекомендую делать по нескольким причинам:
1) при переименовании кнопки придется менять код.
2) неясно, что же именно делает данная кнопка
3) при изменении интерфейса (замена кнопки на меню, например) придется изменять код, мучительно вспоминая, что же делала удаленная кнопка


 
GuAV ©   (2004-06-03 10:56) [13]


> Вообще-то я скорее имел в виду вот это: fMain

вот-вот внутри методов объекта вместо ссылок на экземпляр должен быть "self", т.е. fMain заменить на self и убрать за ненадобностью, т.к. "with self do" итак подразумевается...



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.036 c
6-1082528540
vadvad
2004-04-21 10:22
2004.06.13
Почтовый сервер


14-1085233214
ricks
2004-05-22 17:40
2004.06.13
Орфография


3-1085041421
iddqd
2004-05-20 12:23
2004.06.13
Тормоза с Sybase


14-1085404673
Thor
2004-05-24 17:17
2004.06.13
как установить компонент из D6 на D8?


14-1085503543
Piter
2004-05-25 20:45
2004.06.13
Пиринговые сети