Главная страница
    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.47 MB
Время: 0.053 c
10-1166561371
TStas
2006-12-19 23:49
2010.08.27
Как получить число страниц в вордовском файле?


2-1265618447
yantux
2010-02-08 11:40
2010.08.27
Как сделать компонент и добавить в tool palette?


6-1217592758
user
2008-08-01 16:12
2010.08.27
Как перебрать все файлы с FTP ?


2-1269262046
Константин
2010-03-22 15:47
2010.08.27
Не уничтожается объект


15-1272032376
Демо
2010-04-23 18:19
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский