Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / HELP!!!! Unknow member Commandxxx / 17 сообщений из 17, страница 1 из 1
23.08.2011, 17:30
    #37408388
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Народ, сегодня столкнулся с проблемой, с которой раньше никогла не сталкивался.
Создал форму, накидал на нее контролы (кнопки, комбобоксы, разные элементы), присвоил им разные методы и прочее,
Выставил форму как AS-TOP-LEVEL-Form , и теперь в методе resize обращаясь к кнопкам, обьектам и прочим конролам фокс ругается что незнакомый обьект. Хотя на форме есть кнопки которые он видет и не ругается, а на свеже вставленные идет ругань.
Пересмотрел структцры таблицы этой формы, ничего поозрительного не нашел. Раньше очень часто делал приложения ввиде отдельных форм, такого никогда небыло. Кто подскажет, что случилось? Может фокс пересетапить? VFP6+SP5...
Всем спасибо.
...
Рейтинг: 0 / 0
23.08.2011, 17:36
    #37408408
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Valerii,
PageFrame есть?
...
Рейтинг: 0 / 0
23.08.2011, 17:43
    #37408433
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
IgorNG,

Когда-то пару контролов были на pageframe
...
Рейтинг: 0 / 0
23.08.2011, 17:44
    #37408434
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
IgorNG,

Я дергаю из большого проекта небольшой его кусочек.. Но я переделал все с нуля, и подложил только тексты в методы и свойства..
...
Рейтинг: 0 / 0
23.08.2011, 18:11
    #37408491
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Valerii,

Проверь местоположение ненаходимых контролов и ссылки на них в коде. Может, кидал на PageFrame, а он оказался на форме.
...
Рейтинг: 0 / 0
24.08.2011, 09:53
    #37409142
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
IgorNG,

Все это проверил, все лежат на Form1 в поле Parent
....
Поборол это по-другому. Обявил переменную названием формы как public, стало видеть...
Но суть проблемы так и не понятна. Также срабатывает когда Datasession = 2 и буферизация оптимистическая.
В простом варианте - нет.
...
Рейтинг: 0 / 0
24.08.2011, 12:10
    #37409453
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Приведите команду обращения к объекту на которой возникает ошибка и текст сообщения об ошибке. Не свой перевод, а именно сам текст.
...
Рейтинг: 0 / 0
25.08.2011, 13:44
    #37411645
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
ВладимирМ,

Resize Method

WITH This
.combo1.Top = .Height - 32
.combo2.Top = .Height - 32
.Command1.TOP = .Height - 87
.Command2.TOP = .Height - 87
.Command3.TOP = .Height - 87
..
.Command11.TOP = .Height - 33
ENDWITH
...
Рейтинг: 0 / 0
25.08.2011, 14:06
    #37411711
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
А текст сообщения об ошибке какой? Кроме того, это чей метод Resize? Какого объекта? Ругань идет в момент открытия формы или уже в процессе работы?

PS: Надеюсь, у Вас в методах init нет команд вроде Grid.SetFocus()? Подобная команда в событии init "ломает" станадартный порядок выполнения методов и событий. Последствия - не предсказуемые.
...
Рейтинг: 0 / 0
25.08.2011, 14:06
    #37411712
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Valerii,

А если вместо This написать все же THISFORM результат будет тот же?
...
Рейтинг: 0 / 0
26.08.2011, 12:41
    #37413355
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
IgorNG,

Да, это ничего не меняет. Если поменять тип формы из AsTopLevel Form тогда проблем нет
...
Рейтинг: 0 / 0
26.08.2011, 12:44
    #37413361
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
ВладимирМ,
Unknow member Commandxxxю Ругань идет в момент открытия формы. В методе инит формы - инициализация пользовательских свойств формы.
Присвоение значений переменным...
...
Рейтинг: 0 / 0
26.08.2011, 17:47
    #37414119
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
ValeriiВладимирМ,
Unknow member Commandxxxю Ругань идет в момент открытия формы. В методе инит формы - инициализация пользовательских свойств формы.
Присвоение значений переменным...
Где-то Вы нарушили последовательность создания объектов. В init-формы все вложенные в нее объекты должны быть уже созданы. Если идет сообщение о том, что объекта еще нет, то где-то, как-то, но Вы запустили метод resize (кстати, Вы так и не сказали ЧЕЙ это метод? Какого объекта? Формы или каких-то вложенных контейнеров) ДО создания вложенных объектов. Возможно, Вы явно запустили собственно метод Form.Init()

1. К какому объекту относится метод Resize() о котором идет речь
2. Есть ли в каких-либо объектах явный вызов методов SetFocus(), Init()
3. Речь идет о форме или FormSet
4. Форма создана как файл SCX? На основе базового класса Form или на основе собственного класса VCX?

Можете выложить сюда проблемную форму?
...
Рейтинг: 0 / 0
29.08.2011, 09:59
    #37415572
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
ВладимирМ,

Валадими, спасибо за внимание к этой проблеме. Resize() это метод формы. Форма создана на основе базового класса Form. Форма не является членом FormSet-a. У меня уже есть определенный опыт в VFP, поэтому я и в недоумении..
Самое печальное что на этой же форме сть контролы Command - на них не ругается метод Resize , стоит добавить кнопку и "подвигать" ее в Resize() - во тут и начинаеются проблемы.
Скажу сразу, я создал новую форму, а элементы управления выдернул из одного моего проекта с PageFrame-ом. Как бы выдернул из многого только одну функциональность. соостветствено чать кнопок поубирал, часть оставил, потом дабаил пару новых - и вот такой вот результат.
Грешил на PageFrame, откравыл SCX как таблицу -просматривал каждеое поле, связанное выдаваемыми ошибками, ничего особенного, паренты обьектов - Форма...
Поборол ситуацию только объявив вформу Public...
...
Рейтинг: 0 / 0
29.08.2011, 10:18
    #37415595
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Ну, НЕЛЬЗЯ, просто нельзя, объявлять переменную как PUBLIC без очень веских на то причин. Грубо говоря, Вы лечите насморк при помощи гильотины. Насморк-то Вы вылечите, только дальнейшее существование будет проблематичным... Переменные PUBLIC - это потенциальные проблемы. Их должно быть как можно меньше и все они должны жестко контролироваться специальным кодом. Решать локальные проблемы при помощи глобальных пееменных - создавать себе проблемы в будущем.

Попробуйте "тупо" создать форму заново. Возможно, какие-то следы остались в самой форме.
...
Рейтинг: 0 / 0
29.08.2011, 16:27
    #37416339
Valerii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
ВладимирМ,

Согласен на все 100% с Вашими утверждениями. До того как объявить паблик форму, я ее с нуля всю переделал, накидал нужных кнопок и свойств, подложил код кнопкам и методам на форме, и как только сделал форму AS-Top-Level - все по-новой.
После этого тупо сделал паблик форму скомпилил код, но так и не успокоился.
...
Рейтинг: 0 / 0
29.08.2011, 19:36
    #37416634
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HELP!!!! Unknow member Commandxxx
Посмотрите стек событий.

Включите в отладчике логирование всех событий (кроме мышиных) и посмотрите, когда у Вас срабатывает Resize(). Какое событие или метод заставляют его сработать до событий инициализации объектов.

PS: Давно бы положили сюда во вложение тестовую формочку с проблемой. "На слух" сложно понять в чем причина.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / HELP!!!! Unknow member Commandxxx / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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