Главная страница
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.045 c
3-1085124326
inic
2004-05-21 11:25
2004.06.13
Отмена SQL запроса


4-1084187836
X9
2004-05-10 15:17
2004.06.13
Заменитель Explorer а


1-1085820340
Dextor-andrei
2004-05-29 12:45
2004.06.13
Console Application


4-1082820190
Андрей2
2004-04-24 19:23
2004.06.13
Сервисы и Windows XP


1-1086077407
Viller
2004-06-01 12:10
2004.06.13
Вопрос по FastScript. Работа с формами.