Вниз
Скачать: CL | DM;

Возврат значения (ий) в вызывающую форму   Найти похожие ветки 

← →
aleks-ran ©   (2004-08-26 14:59) [0]

Уважаемые мастера, необходимо по закрытию модальной формы передать рассчитаные ею значения в главную форму. Можно, конечно, в блоке Uses модальной формы расположить ссылку на главную и по ее закрытию произвести присвоение рассчитаных значений. Есть ли другой путь ?


← →
MU ©   (2004-08-26 15:07) [1]

завести у модальной формы свойства
после закрытия ее взять значения этих свойств


← →
Семен Сорокин ©   (2004-08-26 15:11) [2]


> Есть ли другой путь ?

использовать ООП (см. [1])


← →
aleks-ran ©   (2004-08-26 15:18) [3]

Протупил, все правильно, думал что:
fmDetale:=TfmDetale.Create(Self);
   with fmDetale do begin
      ShowModal;
      if ModalResult=mrOk then begin
       // Здесь форма разрушена и обращаться не к чему
     end;

Спасибо за ответы.


← →
Skier ©   (2004-08-26 15:18) [4]

1) Положи на TYourModalForm TButton и установи св-во ModalResult
  в mrOk

2)
var
AYourModalForm : TYourModalForm;
begin
AYourModalForm := TYourModalForm.Create(...);
try
 if AYourModalForm.ShowModal = mrOk then begin
  //здесь передаешь рассчитаные значения в
  //главную форму
  X := AYourModalForm.X;
  Y := AYourModalForm.Y;
 end; //if
finally
 AYourModalForm.Free;
end; //try
end;


← →
Skier ©   (2004-08-26 15:37) [5]


>  // Здесь форма разрушена и обращаться не к чему

Бред !


← →
ASoft   (2004-08-26 15:45) [6]

>Здесь форма разрушена и обращаться не к чему>>
Она еще не разрушена, тем более, если она не создается во время выполнения программы и не уничтожается Free, после ShowModal, можно после mrOk взять все что надо и после грохнуть.
Правильно я понимаю?


← →
aleks-ran ©   (2004-08-26 15:47) [7]

>Skier ©
Я же написал: Думал что...Здесь форма разрушена...

В любом случае огромное мерси всем


← →
clickmaker ©   (2004-08-26 16:54) [8]

class function TYourForm.Execute(var Param1.....): boolean;
begin
 with TYourForm.Create(Application) do begin
   try
     Result := (ShowModal = mrOk);
     if Result then begin
       
       Param1 := ...
       ....
     end;
  finally
    Free;
  end;
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1093054091
Думкин
2004-08-21 06:08
2004.09.12
С днем рождения! 21 августа


1-1092739951
Inco
2004-08-17 14:52
2004.09.12
Обновление приложения в рантайм.


1-1093237558
Teenager
2004-08-23 09:05
2004.09.12
Как можно создать простой справочник?


3-1092359732
CRACKISH
2004-08-13 05:15
2004.09.12
Как проверить запрос на null


10-1037889217
ac2dc
2002-11-21 17:33
2004.09.12
ip клиента в коде серванта




   Наверх