powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
4 сообщений из 4, страница 1 из 1
Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
    #32433956
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чайник продолжает Вас терроризировать вопросами :)
И так.. Открыл форму для редактирования, через меню сунулся в Form/New Property. Добавил... И только что созданное свойство (с методами такая же чепуха) добавилось не к моей ненаглядной Form1, а к вышестоящему Formset1. Па-а-ачему так?

И никак в толк не возьму следующий момент:
визуально создан тулбар с кнопкой, обладающей методом Click, сохранен в класс mytoolbar и уже программно создан экземпляр ентого тулбара для Form1 в методе Form1.Activate так:
Код: plaintext
1.
2.
3.
4.
5.
SET CLASSLIB TO mytoolbar ALIAS MyClasslib
	THISFORM.AddProperty('oToolBar', null)
	THISFORM.oToolBar = createobject('MyClasslib.mytoolbar')
	THISFORM.oToolBar.Dock( 0 )
	THISFORM.oToolBar.Movable = .F.
	THISFORM.oToolBar.Show

(Иного способа создания тулбара для формы я не смог найтить, а т.к. тулбар в перспективе может разрастись, то целиком программно его ваять - проблема и визуальная разработка очень не помешает)

И вот ну никак я немогу заставить кнопку тулбара сотворить что-нибудь на форме! Открыв тулбар в Class Designer в методе кнопки Click я пытаюсь обращаться к вложенным элементам формы Form1 и просто к её свойствам - фигу. Максимум что я чайник смог вытворить, так это запустить из того метода Click криво созданный метод, который повис в FormSet1. Но из этого FormSet'етовского метода я тоже ни до чего не смог добраться - ни до Form1, ни до, например, form1.label1.caption...

Космос подсказывает мне, что я просто не знаю всех премудростей принципов области видимости, но... Эксперименты своей безысходностью просто вскрыли мой мозг, Базиян лишний раз рассмешил, а поиск рассказал лишь о передачах переменных в виде параметров между формами :( В хелпе же тоже всё попряталось...
...
Рейтинг: 0 / 0
Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
    #32433973
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, насколько правильно и качественно, но второй вопрос решил так:
в Init формы form1 повесил
Код: plaintext
1.
public vzbl_form1
vzbl_form1 = THISFORM

и теперь имею счастье обращаться по этой переменной к своей форме из описанных выше мест.
...
Рейтинг: 0 / 0
Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
    #32434889
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По первому вопросу:

Все правильно. При добавлении нового метода/свойства через пункт меню этот метод/свойство добавляется в объект-контейнер самого верхнего уровня. А как иначе? Пришлось бы задавать дополнительные вопросы типа: куда добавить свойство.

Если речь идет о свойствах, то их можно добавить программно через метод AddPropery, например, в том же Init-формы

ThisForm.AddProperty("NewProperty")
ThisForm.NewProperty=1

Если речь идет о методе, то для этой цели создается класс формы и в классе добавляются все нужные методы. Поскольку в классе форма и будет контейнером верхнего уровня.

В FormSet вставляешь экземпляр ранее созданного класса формы со всеми ее методами и свойствами.

Хотя, по большому счету, какая тебе разница где именно будет твой метод или свойство, если речь идет о форме, а не о классе. Разовая ведь вещь.
...
Рейтинг: 0 / 0
Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
    #32435455
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну просто я как бы открывал же форму и по идее к ней добавлял... И ожидал, что к ней и добавится. Ведь написано же "Form/New Property", а не "FormSet/New Property" =)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Па-ачему новое свойство при визуал.добавлении (не программном) попадает в Formset, а не в мою форму?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]