Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
3-34722
grek
2003-05-13 14:37
2003.06.12
связи между таблицами в БД....


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


3-34745
Юлия
2003-05-23 19:11
2003.06.12
Уникальный индекс


1-34897
Dimich1978
2003-05-30 11:09
2003.06.12
Туплю с датами


4-35126
BaDeVlad
2003-03-25 14:05
2003.06.12
Как перехватить событие перерисовки Desktop?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский