![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Модальные формы [Delphi, Windows]
Juk © (2005-03-12 15:11:00)Скажите, каким образом я могу с модальной формы передавать значения контролам главной формы?
Просто Джо (2005-03-15 18:27:00) [1]SendMessage
DesWind (2005-03-15 17:04:00) [2]
> Скажите, каким образом я могу с модальной формы передавать
> значения контролам главной формы?
Я перекрываю ShowModal и получается что-то вроде:
...
procedure ShowModal(var Data: TData);reintroduce;overload;
...
if Form1.ShowModal(Data)=mrOk then
begin
//Смотрю что в эту Data напихали
end;
Anatoly Podgoretsky (2005-03-15 16:10:00) [3]Ну я никак не оспариваю твои знания КОЛ, автор недоволен, что перенесли, но я не вижу никаких оснований оставлять там. Никаких намеков на КОЛ в вопросе нет.
В любом случае это не меняет сути, можно передавать с помощью := можно применить более экзотические методы, такие как процедуры. В любом случае пока вопрос об ординарном программирование в Паскале, во всех его вариантах.
ECM (2005-03-15 15:54:00) [4]Тогда что такое форма? Класс умеющий строить окно? Хотя я не буду спорить - уже честно говоря подзабыл ВЦЛ.
Тем не менее термин форма в КОЛ (именно в отношении KOLForm) уже сложился - поверьте моему 4-х летнему опыту создания приложений в КОЛ... :)
Anatoly Podgoretsky (2005-03-15 15:47:00) [5]Насколько я знаю это не класс, а объектовая модель и работа ведется через АПИ и о ни каких формах и речи быть не может.
Возможно я ошибаюсь, но всегда авторы подчеркивали это, как надстройка над АПИ с зеркальными объектами для визуального программирования.
ECM (2005-03-15 15:33:00) [6]KOLForm - это не окно - это класс(только не class a object) для работы с оным
Anatoly Podgoretsky (2005-03-15 12:58:00) [7]KOLForm это не TForm, а окно
ECM (2005-03-15 12:46:00) [8]Juk (13.03.05 01:53) [6]
...возмущен своим перемещением...
2Juk Совет: Когда задаешь вопрос желательно в нем как-то упомянуть KOL... Это отпугнет бдительного модератора ... :)
Juk (2005-03-13 01:53:00) [9]2 Anatoly Podgoretsky>
Я к Делфе вообще без претензий, и возмущен своим перемещением из соответствующего форума. А в КОЛ формы есть (см. компонент KOLForm.)
Anatoly Podgoretsky (2005-03-13 01:41:00) [10]И откуда формы в КОЛ?
Anatoly Podgoretsky (2005-03-13 01:40:00) [11]Это ты претензии КОЛу делай, а здесь Дельфи.
Juk (2005-03-13 01:39:00) [12]2 Anatoly Podgoretsky>
Нифига, этот сабж перемещен из конфы по КОЛ. Там это не работает.
Anatoly Podgoretsky (2005-03-12 18:11:00) [13]С помощью операции :=
Экспериментатор (2005-03-12 15:37:00) [14]Имеется ввиду не закрывая диалог?
Типа кнопки Apply наверно, да?
Если так то передавай в диалог данные при помощи
procedure GetData(var Data);
а передавай данные обратно при помощи
procedure SetData(var Data);
где Data это например
TPropData = record
obObject : TDBGridEh;
obEdit : TMyEdit;
stDataStream : string;
end;
перед ShowModal
заполняй структуру, в общем типа:
var
PropData : TPropData;
begin
with TfPropForm.Create(nil) do
try
PropData.obObject:=DBMyGrid;
PropData.obEdit:=CounterEdit;
PropData.stDataStream:='Какие-то данные';
SetData(PropData);
if ShowModal=mrOk then
begin
GetData(PropGridData);
{еще что-нибудь}
end;
finally
Free;
end;
end;
но это не главное.
в методах формы TPropForm ты можешь использовать
TPropData(Data).obObject и т.д. для передачи данных или установки полей объекта не закрывая диалог.
В общем старался объяснить свою мысль как мог.