Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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]


> Шестой пост - то что я хочу сделать!

Выбросить из Button1Click
Var
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
15-1392735372
[ВладОшин]
2014-02-18 18:56
2014.09.28
MSSQL: Как узнать какая строка обновлялась последней?


15-1393076122
Дмитрий СС
2014-02-22 17:35
2014.09.28
Сломалось VPN подключение.


15-1392455034
Юрий Зотов
2014-02-15 13:03
2014.09.28
А не устроить ли нам ММП с культурной программой?


15-1392755402
Юрий
2014-02-19 00:30
2014.09.28
С днем рождения ! 19 февраля 2014 среда


11-1253302734
histrio
2009-09-18 23:38
2014.09.28
Вирус





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский