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

Вниз

Возвращаемое значение ShowModal   Найти похожие ветки 

 
Чайник ©   (2010-04-05 15:08) [0]

Функция создает форму и вызывает ее ShowModal:


function AddNewPassport : TModalResult;
begin
  Result := mrCancel;
  FNewPass := TFNewPass.Create(Application);
  try
    Result := FNewPass.ShowModal;
  finally
    FNewPass.Free;
  end;
end;


На самой форме расположен TListBox, в зависимости от выбранной строки вызываются различные функции, возвращающие TModalResult:


procedure TFNewPass.btnOKClick(Sender: TObject);
begin
  case lstKindPass.ItemIndex of
  1: FNewPass.ModalResult := AddNewPassVessPress;
  2: FNewPass.ModalResult := AddNewPassPipeline;
  ...
  else
     FNewPass.ModalResult := mrCancel;
  end;
  Close;
end;


Перкд закрытием формы FNewPass.ModalResult содержит именно те значения, которые фозвращают вызываемые функции. Но в строке

    Result := FNewPass.ShowModal;

в результат пишется исключительно mrCancel !

Что я делаю не так???

P.S. Я Чайник! Я Чайник! Я Чайник! Я Чайник!


 
Игорь Шевченко ©   (2010-04-05 15:12) [1]


> Перкд закрытием формы FNewPass.ModalResult содержит именно
> те значения, которые фозвращают вызываемые функции


а как ты закрываешь форму ? :)


 
icWasya ©   (2010-04-05 15:13) [2]

procedure TCustomForm.Close;
var
 CloseAction: TCloseAction;
begin
 if fsModal in FFormState then
   ModalResult := mrCancel //<<--!!!!!!!!!!!!!!!!!!!!!1
 else
   ...
end;


 
Чайник ©   (2010-04-05 15:16) [3]


> Игорь Шевченко ©   (05.04.10 15:12) [1]
> а как ты закрываешь форму ? :)


else
    FNewPass.ModalResult := mrCancel;
 end;
 Close;  <<<<<<<<
end;


 
Slym ©   (2010-04-05 15:17) [4]

icWasya ©   (05.04.10 15:13) [2]
Чайник ©   (05.04.10 15:08)
procedure TFNewPass.btnOKClick(Sender: TObject);
begin
 case lstKindPass.ItemIndex of
 1: FNewPass.ModalResult := AddNewPassVessPress;
 2: FNewPass.ModalResult := AddNewPassPipeline;
 ...
 else
    FNewPass.ModalResult := mrCancel;
 end;
 //Close;
end;


 
Anatoly Podgoretsky ©   (2010-04-05 16:03) [5]

Убери Close оно убивает ранее установленые значения, меняит их на Cancel


 
Чайник ©   (2010-04-05 16:17) [6]


> Slym ©   (05.04.10 15:17) [4]


> Anatoly Podgoretsky ©   (05.04.10 16:03) [5]


Спасибо!


 
Правильный$Вася   (2010-04-05 16:59) [7]

присваивание модалрезалта само по себе закрывает форму


 
Плохиш ©   (2010-04-05 22:52) [8]


>   1: FNewPass.ModalResult := AddNewPassVessPress;

дерьмокод.


 
Кибальчиш   (2010-04-06 14:17) [9]


> Плохиш ©   (05.04.10 22:52) [8]
> дерьмокод.

дерьмопост.


 
Anatoly Podgoretsky ©   (2010-04-06 14:25) [10]

Плохиш указал причину, а ты что сказать то хотел?



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

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

Наверх




Память: 0.49 MB
Время: 0.068 c
2-1265804991
Вася
2010-02-10 15:29
2010.08.27
A.V. при закрытии формы с TWebBrowser


2-1267530370
Fr
2010-03-02 14:46
2010.08.27
компоненты в run-time


15-1265078165
Дмитрий С
2010-02-02 05:36
2010.08.27
Подскажите телефон


15-1275923916
bss
2010-06-07 19:18
2010.08.27
Регулярные выражения: как проверить вхождение числа в диапазон


15-1271277002
Юрий
2010-04-15 00:30
2010.08.27
С днем рождения ! 15 апреля 2010 четверг