Вниз
Скачать: 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.019 c
1-1093618353
hamster
2004-08-27 18:52
2004.09.12
Двоичные данные


1-1093515851
slart
2004-08-26 14:24
2004.09.12
Длительность видео-роликов


4-1090972782
Maniac
2004-07-28 03:59
2004.09.12
Как сменить формат даты в системе


1-1093414880
first_may
2004-08-25 10:21
2004.09.12
Оverload


3-1092641183
Dmitriy O.
2004-08-16 11:26
2004.09.12
Как обьявить поле програмно ?




   Наверх