IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Модальная форма, из немодальной
sheka
сообщение 23.06.2012 1:06
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


После метода Show формы нужно сделать "некоторые действия". Эта форма также должна быть модальной. Какие есть решения данного вопроса?
Callback функция - тяжеловатое решение: не хочется создавать тип функции, хранить параметры ф-ии, условие вызова (т.к. не всегда после show нужно выполнять "некоторые действия").
Есть ли какая-то информация по Callback методам? Или надо сделать фиктивную ф-ию, содержащую данный метод?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
sheka
сообщение 25.06.2012 13:46
Сообщение #2


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


2 формы создаются статически: Главная и Модальная. Модальная показывается только из Главной, именно поэтому она должна быть модальной. FormShow устанавливает какие-то начальные значения для Модальной формы. Так как в Модальной форме func(param); при показе, но уже работая с начальными данными, должна выполняться не всегда, а только по заказу - появился такой вопрос.
Вот такое получилось:
Как можно "культурно" передать параметр?
procedure MainForm.BitBtn1Click(Sender: TObject);
begin
ModalForm.param := '123';
ModalForm.OnShow := ModalForm.ShowWithFunc;
ModalForm.ShowModal;
end;
  public
param: string;
procedure ShowWithFunc(Sender: TObject);

procedure ModalForm.ShowWithFunc(Sender: TObject);
begin
FormShow(Self);
func(param);
Self.OnShow := FormShow;
end;

procedure TfrmViewMap.FormShow(Sender: TObject);
begin
//
end;


Сообщение отредактировано: sheka - 25.06.2012 13:47
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.08.2025 9:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"