После метода Show формы нужно сделать "некоторые действия". Эта форма также должна быть модальной. Какие есть решения данного вопроса? Callback функция - тяжеловатое решение: не хочется создавать тип функции, хранить параметры ф-ии, условие вызова (т.к. не всегда после show нужно выполнять "некоторые действия"). Есть ли какая-то информация по Callback методам? Или надо сделать фиктивную ф-ию, содержащую данный метод?
Callback функция - тяжеловатое решение: не хочется создавать тип функции, хранить параметры ф-ии, условие вызова (т.к. не всегда после show нужно выполнять "некоторые действия").
Не надо ничего этого делать. Просто там, где нужно делать что-то при показе формы, после создания формы назначь обработчику OnShow адрес метода, который будет делать нужные вещи. Скажем:
procedure TForm1.DoMyAction(Sender : TObject); begin // Тут делаешь то, что нужно. Sender содержит указатель на форму, // которая показывается модально, так что и к свойствам этой формы // у тебя отсюда есть доступ через (Sender as TForm2).свойство end;
procedure TForm1.Button24Click(Sender: TObject); begin with tform2.Create(self) do begin OnShow := DoMyAction; ShowModal; end; end;
Можно то же самое переложить на конструктор (т.е, когда надо вызывать что-то дополнительное - то создавать форму вторым конструктором, который сам будет делать это присвоение OnShow, но тогда без описания типа для функции/процедуры уже не обойдется). Было бы больше информации (скажем, какого типа операции надо делать при показе формы, как вообще форма создается, почему именно модальной она должна быть) - был бы более развернутый ответ.