Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Как передавать параметры из модальной формы в основную прогу?   Найти похожие ветки 

 
MegaVolt ©   (2003-06-02 11:24) [0]

В учебниках по дельфи пишут что применение глобальных переменных не жедательно но как тогда передавать и главное сохранять параметры переданные из модальной формы?


 
Palladin ©   (2003-06-02 11:26) [1]

У тебя переменная какая нибудь олицетворяет модальную форму?
Наверняка ведь олицетворяет. Ну и что же тебе мешает обращатся к этим твоим параметрам?


 
panov ©   (2003-06-02 11:28) [2]

Нужно не передавать параметры из модальной формы, а читать их в основной, Т.е. до уничтожения модальной формы читаются переменные или поля VCL модальной формы.


 
Крот ©   (2003-06-02 11:28) [3]

Рекомендую посмотреть устройство функции InputQuery. Это модуль Dialogs.pas


 
MegaVolt ©   (2003-06-02 11:40) [4]

To Palladin:
Ты предлогаешь держать модальную форму созданной всё время? Вроде бы не рационально.:(

To panov:
Это понятно. Я и спрашиваю куда их девать то? Прочитал и положил в глобальную переменную чтобы всем было видно. Но по тому что пишут в учебниках исспользовани глобальных переменных признак дурного тона.


 
Palladin ©   (2003-06-02 11:43) [5]


> MegaVolt © (02.06.03 11:40)

Что за выводы?
Заведи у себя параметры в главной да и читай из модальной туда.
Ты с OpenDialog работал когданибудь?


 
Sandman25 ©   (2003-06-02 11:46) [6]

with TForm.Create(nil) do
try
ShowModal;
// прием параметров
finally
Free;
end


 
Reindeer Moss Eater   (2003-06-02 11:52) [7]

Красивое решение если параметров много:
В модуле модальной формы декларируем тип:
PMyRecord = ^TMyRecord;
TMyRecord = record
IntField : integer;
StrField : string
....
FloatField : Float;
end;

и функцию

function ShowMyModalForm(PRec:PMyRecord):boolean;
begin
with TMyModalForm.Create(Application) do
try
Result:=ShowModal = mrOk;
if Result then
begin
PRec^.IntField := ...
...
PRec^.FloatField := ....;
end;
finally
Free;
end;
end;


 
MegaVolt ©   (2003-06-02 11:54) [8]

To Palladin:
А параметры в гланой глобальные? А это признак плохого тона.
OpenDialog возвращает один параметр и в том месте программы где мне это нужно а с формы возвращается много параметров и некоторые в месте вызова формы не нужны их нужно сохранить до тех пор пока они понадобятся. Сохранить можно только в глобальной переменной а это признак плохого тона :( Так ГДЕ сохранять?


 
Palladin ©   (2003-06-02 11:58) [9]

Я сдаюсь...


 
Sandman25 ©   (2003-06-02 12:03) [10]

>Так ГДЕ сохранять?

В вызывающей форме. Объявите их там в private и не будут они "глобальные".


 
MegaVolt ©   (2003-06-02 12:18) [11]

Понятно :)



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

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-35009
Malder
2003-05-26 01:19
2003.06.12
XP грузится быстрее w2k


3-34673
kir_kul
2003-05-22 13:00
2003.06.12
Как найти различия в двух таблицах.


9-34663
Ketmar
2002-12-28 21:05
2003.06.12
помогите, плиз. сильно надо...


3-34743
Юлия
2003-05-23 19:57
2003.06.12
Как в DbGrid для полей типа date установить datetimepicker


3-34731
AGAMEMNUM
2003-05-20 10:23
2003.06.12
Access