Форум: "Основная";
Текущий архив: 2014.09.28;
Скачать: [xml.tar.bz2];
ВнизОбратиться к Child форме если она создана в процессе работы прогр Найти похожие ветки
← →
DDDfs (2012-02-02 12:33) [0]Здравствуйте!
Есть две Child формы, которые создаются во время работы программы:
Var
Form1:TForm1;
Form2:TForm2;
Begin
Form1:=TForm1.Create(frmmain);
Form1.Name:=" Form1";
{}
Form2:=TForm2.Create(frmmain);
Form2.Name:=" Form2";
Затем в процессе работы программы мне необходимо обратиться к одной из форм, например к Grid-у и внести в него данные. В некоторых случаях помогает такое обращение:Form1 (frmmain.ActiveMDIChild)…
Но теперь мне необходимо обратиться к форме 1 вне зависимости от того является она активной или нет. И, соответственно, ActiveMDIChild не подходит.
Поясните, пожалуйста, как можно обратиться?
← →
Германн © (2012-02-02 12:50) [1]
> Но теперь мне необходимо обратиться к форме 1 вне зависимости
> от того является она активной или нет.
Form1.чтототам
← →
DDDfs (2012-02-02 13:57) [2]Так обратится нельзя так как форма создается в период работы программы
← →
brother © (2012-02-02 14:16) [3]Почему? Что мешает?
← →
brother © (2012-02-02 14:17) [4]Ну, сделай проверку на нил в начале вызова...
← →
DDDfs (2012-02-02 14:37) [5]Привожу пример почему не работает. Беру две формы: Form 1 – делаю formstyle – fsMDIForm, а другую Form2 - Child. Из UNit проекта убираю троку по созданию второй формы (хочу создать ее в процессе) и делаю ссылку с UNit2 а Unit 1. На главную форму ставлю две кнопки, а на дочернюю textbox называется edit1). В кнопках пишу следующий код:
procedure TForm1.Button1Click(Sender: TObject);
Var
form2:Tform2;
Begin
form2:=Tform2.Create(form1);
form2.Name:="form2";
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Edit1.Text:="aaa";
end;
Когда нажимаю на кнопку 2 – возникает ошибка «Access Violation….”!
← →
DDDfs (2012-02-02 14:37) [6]Привожу пример почему не работает. Беру две формы: Form 1 – делаю formstyle – fsMDIForm, а другую Form2 - Child. Из UNit проекта убираю cтроку по созданию второй формы (хочу создать ее в процессе) и делаю ссылку с UNit2 а Unit 1. На главную форму ставлю две кнопки, а на дочернюю textbox называется edit1). В кнопках пишу следующий код:
procedure TForm1.Button1Click(Sender: TObject);
Var
form2:Tform2;
Begin
form2:=Tform2.Create(form1);
form2.Name:="form2";
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Edit1.Text:="aaa";
end;
Когда нажимаю на кнопку 2 – возникает ошибка «Access Violation….”!
← →
Германн © (2012-02-02 14:37) [7]
> DDDfs (02.02.12 13:57) [2]
>
> Так обратится нельзя так как форма создается в период работы
> программы
>
Если форма в процессе работы создается так как написано в [0], то так обратиться можно.
← →
Германн © (2012-02-02 14:40) [8]
> DDDfs (02.02.12 14:37) [6]
>
> Привожу пример почему не работает.
Так зачем было дублировать объявление Form2?
← →
DDDfs (2012-02-02 14:43) [9]Шестой пост - то что я хочу сделать! Может в 0 не совсем верно написал. Подскажите как обратиться в примере
← →
Германн © (2012-02-02 14:49) [10]
> Шестой пост - то что я хочу сделать!
Выбросить из Button1ClickVar
form2:Tform2;
← →
знайка (2012-02-02 14:55) [11]MainForm.MDIChildren[index]
← →
DDDfs (2012-02-02 15:05) [12]Спасибо Герман!
То что я хотел!!
← →
Dimka Maslov © (2012-02-02 20:32) [13]Я знаю? Город будет? Я знаю? Саду цвесть? Когда ТАКИЕ люди в стране советской есть?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2014.09.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c