![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запретить Form2.Create, после Form1.Create? [D5, Win2k]
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. Не путай.