Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Возвращаемое значение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.065 c
15-1265977848
TStas
2010-02-12 15:30
2010.08.27
Из любопытства: как функция возвращает значение?


15-1275030405
Rembo
2010-05-28 11:06
2010.08.27
При 500 Internal Server Error idHTTP не читает страницу


15-1268978113
oldman
2010-03-19 08:55
2010.08.27
Драйвер для Xerox Phaser 3117 под МЕ


15-1273588423
bss
2010-05-11 18:33
2010.08.27
D2006 - неверная подсказка для классовых методов


4-1235896896
MALAN
2009-03-01 11:41
2010.08.27
Ошибка записи при попытке установки хука





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский