Текущий архив: 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.47 MB
Время: 0.006 c