Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизКак запретить Form2.Create, после Form1.Create? Найти похожие ветки
← →
Guitar © (2004-12-22 21:53) [0]У меня есть две формы. При запуске проекта создаётся Form1.
А так как в разделе implementation Unit1 прописаноuses unit2;
то сразу происходит событие Form2.Create.
Как запретить это, до того, пока я не захочу, чтобы это произошло?
← →
begin...end © (2004-12-22 21:55) [1]> Guitar © (22.12.04 21:53)
Uses тут ни при чём.
Project -> Options -> Forms -> Auto-create forms
← →
Alexander Panov © (2004-12-22 21:56) [2]Project-->Options-->Forms-->Auto-Create Forms
Отсюда удалить Form2.
← →
Поручик © (2004-12-22 21:57) [3]в своиствах проекта - на закладке forms, убираешь form2 из Auto-Create forms
>А так как в разделе implementation Unit1 прописано
>uses unit2;
> то сразу происходит событие Form2.Create.
Не поэтому, а потому что в dpr файле прописанно:
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form1);
← →
Guitar © (2004-12-22 21:58) [4]Спасибо. Понял.
Я забыл сказать ещё, что с Form2 мне необходим компонент, свойства которого назначаюся в Form1. Такое возможно. Или надо этот компонент разместить на Form1?
← →
Kolan © (2004-12-22 21:58) [5]
> А так как в разделе implementation Unit1 прописано
> uses unit2;
А если убрать, то нет?
← →
Fay © (2004-12-22 21:59) [6]2 Guitar © (22.12.04 21:53)
Происходит не Form2.Create, а ТForm2.Create. Не путай.
← →
Поручик © (2004-12-22 22:00) [7]Guitar © (22.12.04 21:58) [4]
После создания формы и передашь этот параметр.
2All: Вот бы на сложные вопросы с такой скоростью отвечали :)
← →
Поручик © (2004-12-22 22:02) [8]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]
Вот глюки :)))))))))
← →
begin...end © (2004-12-22 22:02) [9]> [4] Guitar © (22.12.04 21:58)
Может ли идти речь о рождении детей человеком, который сам ещё не родился?
← →
Fay © (2004-12-22 22:05) [10]2 begin...end © (22.12.04 22:02) [9]
Очень многое говорит о том, что я уже родился. Но о рождении мною детей и речи быть не может! 8)
← →
Guitar © (2004-12-22 22:16) [11]4 Fay
Поясни, недалёкому ), чем это отличается и что у меня происходит. Интересно. )
4 begin...end
То есть его надо перенести на Form1, я правильно понял?
← →
begin...end © (2004-12-22 22:18) [12]> [11] Guitar © (22.12.04 22:16)
> То есть его надо перенести на Form1, я правильно понял?
Необязательно. Можно оставить его на Form2, но обращаться к нему только после создания Form2.
← →
Guitar © (2004-12-22 22:23) [13]4 begin...end
Всё по полочкам разложил. ))) Огромное спасибо. Все бы так...
← →
Guitar © (2004-12-22 22:27) [14]По горячей теме.
Как правильно создать форму и закрыть форму.
Я пишуunit2.form2.Create(sender);
Пишет ошибку[Error] Unit3.pas(36): Incompatible types: "TComponent" and "TObject"
И правильно ли писатьform1.Close;
← →
Guitar © (2004-12-22 22:28) [15]В ошибке то что Unit3 - не оращайте внимания. Я индексы менял, чтобы легче вам было.
← →
Fay © (2004-12-22 22:28) [16]2 Guitar © (22.12.04 22:16) [11]
Form2 - указатель. Если повезёт, то на экземпляр TForm2. По полочкам сам разложишь 8)
← →
begin...end © (2004-12-22 22:31) [17]> [14] Guitar © (22.12.04 22:27)
> unit2.form2.Create(sender);
Оооо! Так создавать объект НЕЛЬЗЯ! Об этом, кстати, Fay и говорил в [6].
К прочтению: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
← →
Guitar © (2004-12-22 22:58) [18]И ещё маленький вопросец. )
Просто запарился я уже.
Создал я её. А показать не могу. (((
Какой командой её вывести на экран, сделать видимой?
← →
Fay © (2004-12-22 23:01) [19]Show
← →
Поручик (пароль забыл) (2004-12-22 23:02) [20]Form2.Show;
или Form2.ShowModal;
или Form2.Visible := True;
← →
Guitar © (2004-12-22 23:11) [21]Хорошо, попробую.
У меня порсто ошибку выводит. Какуб понять не могу.
МОжет я неправильно закрываю Form1. Я пишуform1.Close;
Этот код при нажатии на кнопку идёт. Вот, так как нажимаю, то ошибка и всё вылетает.
Если я закрываю форму, то ведь компонент, который на ней находится и используется в Unit2 не уничтожается. Иля я не прав. Если уничтожается, то как правильно её убрать и чтобы я мог работать с компонентом, который на ней находится7
← →
Guitar © (2004-12-22 23:21) [22]Что за ошибка, вылазит, при нажатии на кнопку. Код в кнопке:
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.
← →
Fay © (2004-12-22 23:28) [23]Немедленно прекратите что-либо писать. Читайте.
← →
Поручик (пароль забыл) (2004-12-22 23:37) [24]Здесь надо создавать так:
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 правду говорит.
← →
Guitar © (2004-12-22 23:47) [25]Прошу прошения, что так много писал.
Заработало. )))
Тема закрыта.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.038 c