Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запретить Form2.Create, после Form1.Create? [D5, Win2k]


Страницы:   1 2

Guitar ©   (2004-12-22 21:53:00) 

У меня есть две формы. При запуске проекта создаётся Form1.
А так как в разделе implementation Unit1 прописано
uses unit2;
то сразу происходит событие Form2.Create.
Как запретить это, до того, пока я не захочу, чтобы это произошло?


Guitar   (2004-12-22 23:47:00) [1]

Прошу прошения, что так много писал.
Заработало. )))
Тема закрыта.


Поручик (пароль забыл)   (2004-12-22 23:37:00) [2]

Здесь надо создавать так:
Form1 := TForm1.Create(self);
И сразу:
Form1.Show;

или делай так:

procedure TForm3.BitBtn1Click(Sender: TObject);
begin
Application.CreateForm(TForm1, Form1);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Show;
end;



Fay правду говорит.


Fay   (2004-12-22 23:28:00) [3]

Немедленно прекратите что-либо писать. Читайте.


Guitar   (2004-12-22 23:21:00) [4]

Что за ошибка, вылазит, при нажатии на кнопку. Код в кнопке:

procedure TForm3.BitBtn1Click(Sender: TObject);
begin
TForm1.create(Form3);
end;


Вот процедура на которую идёт ссылка

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Show;
end;


Где ошибка? я понять не могу

Код ошибки

...raised exeption class EAccessViolation with message 'Access violation at address 004467BA in module Project1.exe. Read of address 00002CC.


Guitar   (2004-12-22 23:11:00) [5]

Хорошо, попробую.
У меня порсто ошибку выводит. Какуб понять не могу.
МОжет я неправильно закрываю Form1. Я пишу
form1.Close;
Этот код при нажатии на кнопку идёт. Вот, так как нажимаю, то ошибка и всё вылетает.
Если я закрываю форму, то ведь компонент, который на ней находится и используется в Unit2 не уничтожается. Иля я не прав. Если уничтожается, то как правильно её убрать и чтобы я мог работать с компонентом, который на ней находится7


Поручик (пароль забыл)   (2004-12-22 23:02:00) [6]

Form2.Show;
или Form2.ShowModal;
или Form2.Visible := True;


Fay   (2004-12-22 23:01:00) [7]

Show


Guitar   (2004-12-22 22:58:00) [8]

И ещё маленький вопросец. )
Просто запарился я уже.
Создал я её. А показать не могу. (((
Какой командой её вывести на экран, сделать видимой?


begin...end   (2004-12-22 22:31:00) [9]

> [14] Guitar ©   (22.12.04 22:27)

> unit2.form2.Create(sender);

Оооо! Так создавать объект НЕЛЬЗЯ! Об этом, кстати, Fay и говорил в [6].

К прочтению: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342


Fay   (2004-12-22 22:28:00) [10]

2 Guitar ©   (22.12.04 22:16) [11]
Form2 - указатель. Если повезёт, то на экземпляр TForm2. По полочкам сам разложишь 8)


Guitar   (2004-12-22 22:28:00) [11]

В ошибке то что Unit3 - не оращайте внимания. Я индексы менял, чтобы легче вам было.


Guitar   (2004-12-22 22:27:00) [12]

По горячей теме.
Как правильно создать форму и закрыть форму.

Я пишу
unit2.form2.Create(sender);

Пишет ошибку
[Error] Unit3.pas(36): Incompatible types: 'TComponent' and 'TObject'

И правильно ли писать
form1.Close;


Guitar   (2004-12-22 22:23:00) [13]

4 begin...end
Всё по полочкам разложил. ))) Огромное спасибо. Все бы так...


begin...end   (2004-12-22 22:18:00) [14]

> [11] Guitar ©   (22.12.04 22:16)

> То есть его надо перенести на Form1, я правильно понял?

Необязательно. Можно оставить его на Form2, но обращаться к нему только после создания Form2.


Guitar   (2004-12-22 22:16:00) [15]

4 Fay
Поясни, недалёкому ), чем это отличается и что у меня происходит. Интересно. )

4 begin...end
То есть его надо перенести на Form1, я правильно понял?


Fay   (2004-12-22 22:05:00) [16]

2 begin...end ©   (22.12.04 22:02) [9]
Очень многое говорит о том, что я уже родился. Но о рождении мною детей и речи быть не может! 8)


begin...end   (2004-12-22 22:02:00) [17]

> [4] Guitar ©   (22.12.04 21:58)

Может ли идти речь о рождении детей человеком, который сам ещё не родился?


Поручик   (2004-12-22 22:02:00) [18]

Kolan ©   (22.12.04 21:58) [5]
Fay ©   (22.12.04 21:59) [6]
Поручик ©   (22.12.04 22:00) [7]
Kolan ©   (22.12.04 21:58) [8]
Fay ©   (22.12.04 21:59) [9]
Поручик ©   (22.12.04 22:00) [10]

Вот глюки :)))))))))


Поручик   (2004-12-22 22:00:00) [19]

Guitar ©   (22.12.04 21:58) [4]

После создания формы и передашь этот параметр.

2All: Вот бы на сложные вопросы с такой скоростью отвечали :)


Fay   (2004-12-22 21:59:00) [20]

2 Guitar ©   (22.12.04 21:53)
Происходит не Form2.Create, а ТForm2.Create. Не путай.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо