Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


aleks-ran ©   (2004-08-26 14:59:00) 

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


clickmaker   (2004-08-26 16:54:00) [1]

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;


aleks-ran   (2004-08-26 15:47:00) [2]

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

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


ASoft   (2004-08-26 15:45:00) [3]

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


Skier   (2004-08-26 15:37:00) [4]


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

Бред !


aleks-ran   (2004-08-26 15:18:00) [5]

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

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


Skier   (2004-08-26 15:18:00) [6]

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;


Семен Сорокин   (2004-08-26 15:11:00) [7]


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

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


MU   (2004-08-26 15:07:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо