|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Народ, сегодня столкнулся с проблемой, с которой раньше никогла не сталкивался. Создал форму, накидал на нее контролы (кнопки, комбобоксы, разные элементы), присвоил им разные методы и прочее, Выставил форму как AS-TOP-LEVEL-Form , и теперь в методе resize обращаясь к кнопкам, обьектам и прочим конролам фокс ругается что незнакомый обьект. Хотя на форме есть кнопки которые он видет и не ругается, а на свеже вставленные идет ругань. Пересмотрел структцры таблицы этой формы, ничего поозрительного не нашел. Раньше очень часто делал приложения ввиде отдельных форм, такого никогда небыло. Кто подскажет, что случилось? Может фокс пересетапить? VFP6+SP5... Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2011, 17:30 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Valerii, PageFrame есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2011, 17:36 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
IgorNG, Когда-то пару контролов были на pageframe ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2011, 17:43 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
IgorNG, Я дергаю из большого проекта небольшой его кусочек.. Но я переделал все с нуля, и подложил только тексты в методы и свойства.. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2011, 17:44 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Valerii, Проверь местоположение ненаходимых контролов и ссылки на них в коде. Может, кидал на PageFrame, а он оказался на форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2011, 18:11 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
IgorNG, Все это проверил, все лежат на Form1 в поле Parent .... Поборол это по-другому. Обявил переменную названием формы как public, стало видеть... Но суть проблемы так и не понятна. Также срабатывает когда Datasession = 2 и буферизация оптимистическая. В простом варианте - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2011, 09:53 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Приведите команду обращения к объекту на которой возникает ошибка и текст сообщения об ошибке. Не свой перевод, а именно сам текст. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2011, 12:10 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
ВладимирМ, 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2011, 13:44 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
А текст сообщения об ошибке какой? Кроме того, это чей метод Resize? Какого объекта? Ругань идет в момент открытия формы или уже в процессе работы? PS: Надеюсь, у Вас в методах init нет команд вроде Grid.SetFocus()? Подобная команда в событии init "ломает" станадартный порядок выполнения методов и событий. Последствия - не предсказуемые. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2011, 14:06 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Valerii, А если вместо This написать все же THISFORM результат будет тот же? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2011, 14:06 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
IgorNG, Да, это ничего не меняет. Если поменять тип формы из AsTopLevel Form тогда проблем нет ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2011, 12:41 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
ВладимирМ, Unknow member Commandxxxю Ругань идет в момент открытия формы. В методе инит формы - инициализация пользовательских свойств формы. Присвоение значений переменным... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2011, 12:44 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
ValeriiВладимирМ, Unknow member Commandxxxю Ругань идет в момент открытия формы. В методе инит формы - инициализация пользовательских свойств формы. Присвоение значений переменным... Где-то Вы нарушили последовательность создания объектов. В init-формы все вложенные в нее объекты должны быть уже созданы. Если идет сообщение о том, что объекта еще нет, то где-то, как-то, но Вы запустили метод resize (кстати, Вы так и не сказали ЧЕЙ это метод? Какого объекта? Формы или каких-то вложенных контейнеров) ДО создания вложенных объектов. Возможно, Вы явно запустили собственно метод Form.Init() 1. К какому объекту относится метод Resize() о котором идет речь 2. Есть ли в каких-либо объектах явный вызов методов SetFocus(), Init() 3. Речь идет о форме или FormSet 4. Форма создана как файл SCX? На основе базового класса Form или на основе собственного класса VCX? Можете выложить сюда проблемную форму? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2011, 17:47 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
ВладимирМ, Валадими, спасибо за внимание к этой проблеме. Resize() это метод формы. Форма создана на основе базового класса Form. Форма не является членом FormSet-a. У меня уже есть определенный опыт в VFP, поэтому я и в недоумении.. Самое печальное что на этой же форме сть контролы Command - на них не ругается метод Resize , стоит добавить кнопку и "подвигать" ее в Resize() - во тут и начинаеются проблемы. Скажу сразу, я создал новую форму, а элементы управления выдернул из одного моего проекта с PageFrame-ом. Как бы выдернул из многого только одну функциональность. соостветствено чать кнопок поубирал, часть оставил, потом дабаил пару новых - и вот такой вот результат. Грешил на PageFrame, откравыл SCX как таблицу -просматривал каждеое поле, связанное выдаваемыми ошибками, ничего особенного, паренты обьектов - Форма... Поборол ситуацию только объявив вформу Public... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2011, 09:59 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Ну, НЕЛЬЗЯ, просто нельзя, объявлять переменную как PUBLIC без очень веских на то причин. Грубо говоря, Вы лечите насморк при помощи гильотины. Насморк-то Вы вылечите, только дальнейшее существование будет проблематичным... Переменные PUBLIC - это потенциальные проблемы. Их должно быть как можно меньше и все они должны жестко контролироваться специальным кодом. Решать локальные проблемы при помощи глобальных пееменных - создавать себе проблемы в будущем. Попробуйте "тупо" создать форму заново. Возможно, какие-то следы остались в самой форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2011, 10:18 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
ВладимирМ, Согласен на все 100% с Вашими утверждениями. До того как объявить паблик форму, я ее с нуля всю переделал, накидал нужных кнопок и свойств, подложил код кнопкам и методам на форме, и как только сделал форму AS-Top-Level - все по-новой. После этого тупо сделал паблик форму скомпилил код, но так и не успокоился. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2011, 16:27 |
|
HELP!!!! Unknow member Commandxxx
|
|||
---|---|---|---|
#18+
Посмотрите стек событий. Включите в отладчике логирование всех событий (кроме мышиных) и посмотрите, когда у Вас срабатывает Resize(). Какое событие или метод заставляют его сработать до событий инициализации объектов. PS: Давно бы положили сюда во вложение тестовую формочку с проблемой. "На слух" сложно понять в чем причина. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2011, 19:36 |
|
|
start [/forum/topic.php?fid=41&msg=37411711&tid=1584190]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 161ms |
0 / 0 |