![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Если в опциях проекта поместить форму в Auto-create-Form, то она будет создаваться сразу после старта программы. Если в форме в свойствах Visible присвоить Hide, то форма видна не будет. По мере надобности, форму можно делать то видимой, то невидимой. И тут все просто. В такую форму параметры из другой формы передаются самым замечательным образом через точечную нотацию. Например: Form2.Edit1.Text := 'asfgafg';
И все тут же перестает работать, если у меня дочерняя форма создается динамически в пункте меню MDI-формы (главной формы) таким образом: Код:
PROCEDURE TForm1.N2Click(Sender: TObject); VAR Child: TForm2; BEGIN Child := TForm2.Create(Application); Child.Top := 6; Child.Left := 300; END; Начиная с этого момента команда Form2.Edit1.Text := 'asfgafg'; работать перестает. На стадии компиляции компилятор никакой ошибки не выдает, а при исполнении этой команды вживую, программа выдает ошибку: "Acces violation at address 004B42CF in module 'Forma1.exe'. Read of address 00000380." Никак не могу понять, как передать значение в форму, создаваемую таким образом. И мне нужно именно ТАК создавать форму, так-как значение Hide "дочерней форме" присвоить нельзя. Ну, или, быть может, еще каким-то другим способом делать видимой или невидимой дочернюю форму, про который я не знаю. В разделе Uses все модули прописаны. Как я уже говорил, компилятор не ругается. Тут у меня все Ок. Прошу прощения, если вопрос глупый. Я совсем еще новичок в Дельфи. |