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

Вниз

Цикл по формам !   Найти похожие ветки 

 
mandalay ©   (2008-08-12 16:53) [0]

В проекте создаются динамически модальные формы.
пример:
 if not Assigned(formAnalitics) then
 begin
   formAnalitics := TfrmAccountsAnaliticsfrm.Create(Self);
   formAnalitics.CreateAnalitics(AccID);
   formAnalitics.FitToLayout;
 end;
 formAnalitics.ShowModal;


при их закрытии делается Close но не Free!!!! тоесть они еще как бы "висят" в памяти :) !!!

Вопрос:
Как мне с помощю цикла обтатится ко всем формам formAnalitics? тоесть как бы пробежаться по ним и собрать введенные там данные :)?
Заранее спасибо !!!


 
McSimm ©   (2008-08-12 16:57) [1]


> formAnalitics.ShowModal;

Может лучше забирать данные после этой строки и хранить уже как удобно ?


 
mandalay ©   (2008-08-12 16:58) [2]

поправка:
модальные формы создаются из фреймов, которые лежат на одной общей форме!!!
тоеть один фрейм одна форма(formAnalitics)!


 
stas ©   (2008-08-12 17:00) [3]

Ну примерно так:

For  i:=0 to self.componentCount-1 do
begin
if (Self.Components[i] is TfrmAccountsAnaliticsfrm) then
begin
A:=TfrmAccountsAnaliticsfrm(Self.Components[i] ).Edit1.text
end;

end


 
aaaaa   (2008-08-12 17:01) [4]


> mandalay ©   (12.08.08 16:58) [2]

как делаешь мод формы?


 
Сергей М. ©   (2008-08-12 17:02) [5]


> модальные формы


Почему формЫ-то ?

Судя по приведенному коду будет создана только одна форма, потому что проверка not Assigned(formAnalitics) будет успешной только одинт раз, ибо не фигурирует обnilение этой переменной ..


 
aaaaa   (2008-08-12 17:05) [6]


> как делаешь мод формы?

тьфу, не глянул


>  formAnalitics.ShowModal;

собирай свои данные
formAnalitics.Free;


 
mandalay ©   (2008-08-12 17:18) [7]


> Сергей М. ©   (12.08.08 17:02) [5]
>
>
> > модальные формы
>
>
> Почему формЫ-то ?
>
> Судя по приведенному коду будет создана только одна форма,
>  потому что проверка not Assigned(formAnalitics) будет успешной
> только одинт раз, ибо не фигурирует обnilение этой переменной
> ..

см. [2]
модальные формы создаются из фреймов, которые лежат на одной общей форме!!!
тоеть один фрейм одна форма(formAnalitics)!


 
Ega23 ©   (2008-08-12 17:22) [8]

var
 ID : Integer;
 frm : TMyForm
begin

 ID := какой-то_DataSet.fieldByName("Какой-то_ID").AsInteger;

 frm := TMyForm.Create;
 try
   frm.Connection := Мой_Connection;
   frm.ID := ID;
   frm.ShowModal;
   if frm.ModalResult=mrOK then
   begin
     Refresh(какой-то_DataSet)
     какой-то_DataSet.Locate("Какой-то_ID", ID, []);  
   end;
 finally
   frm.Free;
 end;

end;


И вызывай это из своего фрейма, та форма, на которой твой фрейм расположен, вообще ничего про эту модальную знать не должна.


 
Ega23 ©   (2008-08-12 17:23) [9]

Поправка:
 frm := TMyForm.Create(nil);


 
Leonid Troyanovsky ©   (2008-08-12 20:22) [10]


> mandalay ©   (12.08.08 17:18) [7]

> > Почему формЫ-то ?
> > Судя по приведенному коду будет создана только одна форма,

> см. [2]
> модальные формы создаются из фреймов, которые лежат на одной
> общей форме!!!

Сам ты 2. Причем тут фреймы на общей форме, если форма одна.

Если хочешь все формы, изволь: Screen.Forms, отбираешь,
например, по классу.

--
Regards, LVT.

PS И не надо на нас кричать.


 
Сергей М. ©   (2008-08-12 22:27) [11]


> модальные формы создаются из фреймов


Какие еще нафих фреймы ?

Фрейм это фрейм (TFrame), а форма это форма (TForm).

Мало того что это две разные разницы, так еще и нет у TFrame метода ShowModal - ни ныне, ни присно, ни во веки веков.


 
McSimm ©   (2008-08-12 23:31) [12]


> Какие еще нафих фреймы ?

Он имел в виду, что код, создающий модальную форму, принадлежит какому-то из методов фрейма, которых много и которые лежат на форме.

Т.е. переменная if not Assigned(formAnalitics) then не одна на форму, но одна на фрейм.

вот так вот я понял.


 
MsGuns ©   (2008-08-13 00:03) [13]

Смешались в кучу фрэймы, формы
Вот розог всыпать для проформы ;)



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

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

Наверх




Память: 0.5 MB
Время: 0.015 c
15-1217251086
ArMellon
2008-07-28 17:18
2008.09.21
Как сделать прогу для КПК?


2-1218013388
irina_gr
2008-08-06 13:03
2008.09.21
QReport


2-1218543073
zivan
2008-08-12 16:11
2008.09.21
TAction, TActionMenuBar


2-1218563976
RoPs
2008-08-12 21:59
2008.09.21
Про Tray


2-1218291171
REX
2008-08-09 18:12
2008.09.21
Файлы