Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.015 c
14-35044
cult
2003-05-27 17:30
2003.06.12
Как узнать букву, под которой в системе CDROM?


3-34747
Nikos
2003-05-24 11:50
2003.06.12
как считать значение поля в БД Paradox


14-35070
rosl
2003-05-28 09:20
2003.06.12
запустить на другом компе


14-35051
Godness
2003-05-21 22:12
2003.06.12
вопрос к спецам по портами ! ...


6-34959
Igor
2003-04-09 21:07
2003.06.12
FTP Client -Server problem s portom




   Наверх