Страница: 1 |
Страница: 1 |
Вопрос: Форма в модуле
Добавлено: 14.02.05 18:05
Автор вопроса: groovy
Я новичок в VisualBasic и может вопросы будут немного детские но всёже, хотелось бы задать вопрос. !!
Почему когда в модуле пытаешься выполнить какое-нибудь
действие над формой или объектом в этой форме, то Бэйсик пишет что объект не найден ? Что надо прописать чтобы в модуле объект нашелся ?
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 14.02.05 18:37
Имя объекта. Например Form1:
Form1.Text1="Привет!"
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 14.02.05 19:08
То, что пишется в модуле - это собственно код программы. То, что пишется в форме - это методы интерфейса (или объекта формы). Чтобы соответствующий метод был найден, надо указать, в каком интерфейсе искать метод (или же метод какого объекта надо выполнить).
Form1_Load() - метод Load интерфейса Form1.
Поиск методов для выполнения осуществляется по достаточно дикой методике: по указателю на объект получается его таблица адресов методов, и на этот адрес передается выполнение программы.
Поэтому сначала указывается интерфейс, затем метод интерфейса
Form1.Text1.Text="Сам привет!"
Номер ответа: 3
Автор ответа:
astoro
ICQ: 649109
Вопросов: 31
Ответов: 391
Профиль | | #3
Добавлено: 15.02.05 06:38
Для событий формы имя формы не подставляется
т.е. не Form1, а просто
Form_Событие
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 15.02.05 13:46
Form_Load() - это обычная процедура, которую вызывает форма при возникновении события.
Номер ответа: 5
Автор ответа:
groovy
Вопросов: 2
Ответов: 2
Профиль | | #5
Добавлено: 15.02.05 16:11
А у меня не находятся объекты формы когда я скажем прописываю в модуле:
form1.text1.text="Hello!"
Номер ответа: 6
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #6
Добавлено: 15.02.05 21:05
А ты вообще её загрузил, прежде чем вызывать, и не перепутал ли имена? Может у тебя frm1 а не form1?
Номер ответа: 7
Автор ответа:
groovy
Вопросов: 2
Ответов: 2
Профиль | | #7
Добавлено: 15.02.05 21:49
Да, загрузил, но все-равно не то. У меня два проекта в одной группе и в модуль одного проекта нужно прописать событие связанное с формой из другого проекта ! Как это сделать ?
Номер ответа: 8
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #8
Добавлено: 15.02.05 21:51
Так тоже работает, непонятно почему...
Sub main()
Form1.Text1.Text = "Hello!"
Form1.Show
End Sub
Номер ответа: 9
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #9
Добавлено: 16.02.05 09:43
У меня два проекта в одной группе и в модуль одного проекта нужно прописать событие связанное с формой из другого проекта ! Как это сделать ?
Так оно и не должно! Проекты разные. К примеру, как ты из одного ехе отловишь событие формы другого ехе? Если, например, один из них - ехе, другой - dll, то подключай как ActiveX.