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

Перегрузка ShowModal   Найти похожие ветки 

← →
Piter ©   (2004-02-04 00:42) [0]

Есть специальная форма для ввода данных, пользователь в этой форме набивает некоторые данные, которые должны быть возвращены формой в виде некой записи (record).
Как реализовать возврат данных?

Я думаю создать свой класс от TForm, перекрыть метод ShowModal, чтобы он возвращал нужную мне запись.

Насколько такой подход рационален и есть ли другие варианты?


← →
Юрий Зотов ©   (2004-02-04 00:49) [1]

type
TMyData = record
...
end;

TForm2 = class(TForm
...
public
MyData: TMyData;
...
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(nil) do
try
if ShowModal = mrOK then
with MyData do
begin
... // Получили Ваши данные
end
finally
Free
end
end;

И ничего не надо перекрывать.


← →
Piter ©   (2004-02-04 01:02) [2]

Юрий, спасибо! Блин, мне в голову стукнуло, что после возврата ShowModal формы уже не будет существовать... вот тормоз я


← →
Германн ©   (2004-02-04 03:20) [3]

Больше того. Если эта "форма ввода данных" используется в программе регулярно, то вообще стоит ее поставить в Автосоздание, тогда она будет существовать до завершения программы и ее данные будут доступны в любой момент, а не только сразу после ShowModal.



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

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



Память: 0.45 MB
Время: 0.023 c
1-38839
AMogil
2004-02-02 18:02
2004.02.13
Неправильная кодировка в программе при запуске английском Window


1-38853
kex86
2004-02-02 12:51
2004.02.13
Почему не проходит блок


1-38888
Пубертанец
2004-02-04 15:15
2004.02.13
Как удалить строку из TStringGrid


14-39026
Alexander666
2004-01-26 11:06
2004.02.13
Delphi 7


1-38892
_Dmitry_
2004-02-04 15:42
2004.02.13
Форма внутри потока




   Наверх