Главная страница
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.022 c
1-1086038890
Eagle
2004-06-01 01:28
2004.06.13
SetDecimalSeparator - текст процедуры


1-1085569361
SashaLebed
2004-05-26 15:02
2004.06.13
Как встроить график (Chart) в отчёт?


1-1085587061
vajo
2004-05-26 19:57
2004.06.13
Заставка


1-1085908028
ilnarab
2004-05-30 13:07
2004.06.13
Как с помощью OpenDialog-а загрузить в ListBox текстовый файл


3-1085136665
Artem03
2004-05-21 14:51
2004.06.13
Обращение к 2 БД в одном запросе