Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Все как по учебнику - а не работает.... [D5, Win95/98]


koks ©   (2002-06-13 15:28:00) 

Уважаемые знатоки, все сделал как по учебнику, а че-то не работает.

Следеущая процедура создает и запускает модальную форму, а также принимает значение в
случае, если mrOk

procedure TForm.Fill;
begin
fmChDate := TfmChDate.Create(Self);
with fmChDate do
begin
if (ShowModal = mrOk) then
begin
{действия...}
end;
Release;
end;
end;

для формы TfmChDate описаны следующие обработчики:

procedure TfmChDate.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caHide;
end;

procedure TfmChDate.bbOkClick(Sender: TObject);
begin
ModalResult := mrOk;
Close;
end;

procedure TfmChDate.bbCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
Close;
end;

bbOk и bbCancel - TBitBtn-ы, для которых ModalResult установлено в mrNull
Я пробовал для них устанавливать соответственно mrOk и mrCancel, но результат - тот же...

Проблема - НИКОГДА не выполняется условие ShowModal = mrOk...
т.е. форма запускается, закрывается по нажатию кнопки, но {действия...} в 1-ой процедуре не выполняются

Заранее Спасибо !


koks   (2002-06-13 16:15:00) [1]

Не надо убирать caHide.... Все, доперло - там была еще одна ошибка, не связанная с кнопками.. Спасибо за помощь !


Игорь Шевченко   (2002-06-13 16:10:00) [2]

Осталось убрать caHide


koks   (2002-06-13 15:54:00) [3]

2 Игорь Шевченко:
Убрал Close... и там и там.... все равно.
Пробовал также убрать вовсе обработчики BitBtnClick (а в их свойстве ModalResult выставить соответствующие mrOk b mrCancel)... все равно :(


Tkach_   (2002-06-13 15:46:00) [4]

>Я пробовал для них устанавливать соответственно mrOk и mrCancel, но результат - тот же...

а Вы не забыли при этом обработчики кликов этих кнопок убрать???


Игорь Шевченко   (2002-06-13 15:33:00) [5]

Плохой учебник читали.

procedure TfmChDate.bbOkClick(Sender: TObject);
begin
ModalResult := mrOk;
// Close; - убрать, так как вызовет автоматические присвоение mrCancel свойству ModalResult
end;




Наверх

Титульная страница Поиск, карта сайта Написать письмо