Главная страница
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.015 c
8-34933
Митяй2
2003-02-28 13:25
2003.06.12
ImageList (оптимизация)


1-34922
odyssey
2003-06-02 09:42
2003.06.12
ExtractFilePath


1-34823
vlv
2003-06-02 13:05
2003.06.12
Как отловить событие на вставку из буффера у TEdit?


6-34963
msoftware
2003-04-09 09:10
2003.06.12
Нужен совет по Сокетам


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