| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как правильно (!) создать форму? |
| Автор: Тутанхамец 22.10.2006, 09:01 | ||
Хочу написать маленькую прогу, которая создает формы и контролы кодом. Начал с создания формы.
Вопрос. Насколько правильно я это делаю? Нужны ли вызовы Initialize и Run? Если нужны, то перед showmodal или после? И есть ли способы сделать это лучше? Заранее благодарен. |
| Автор: Matematik 22.10.2006, 10:30 | ||
все |
| Автор: digs 22.10.2006, 10:45 |
| Matematik Ну и конструкция! если уверен, что TForm.Create ошибок не даст, надо ставить эту строку до try, а если есть вероятность ошибки, тогда то что в finally... ну сам понимаешь |
| Автор: Matematik 22.10.2006, 11:07 |
не понимаю |
| Автор: DarlkElfTen 22.10.2006, 11:17 | ||||||||
это ведь если она создана можно вызывати? => он сказал, что нада делатьпримерно так
|
| Автор: digs 22.10.2006, 11:48 |
| Matematik Что тут не ясного? Если TForm.Create даст ошибку, то в разделе finally будет конструкция nil.Free |
| Автор: Тутанхамец 22.10.2006, 12:14 |
| Спасибо всем, про try я как-то не подумал. А MyForm:=nil обязательно? Если TForm.create выполнится, то в MyForm будет форма. Если не выполнится, то nil. Или я не прав? |
| Автор: DarlkElfTen 22.10.2006, 12:38 |
| не понял а при взове nill.free не будет аксес вуалэишн ??? если будет то в моем посте правильный кодеГ) |
| Автор: Alexeis 22.10.2006, 12:44 | ||
Нужно для того, чтобы знать выделена ли память под форму или нет. Если выделена, то ее нужно освободить, если нет, нельзя освобождать иначе будет ошибка "Access violation read adress nnnn...." Добавлено @ 12:46 Не так! TForm.free; Добавлено @ 12:51 код VCL
|
| Автор: DarlkElfTen 22.10.2006, 12:51 |
| дык, так в итог у формы нилл !!!!!!!! |
| Автор: Тутанхамец 22.10.2006, 14:01 |
| Всё. Понял. Спасибо. |
| Автор: Bose 23.10.2006, 12:28 | ||||
только лучше не
а
в данном случае, форма не закроется раньше чем обработает все сообщения(если не ошибаюсь) |