powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Init() в базовой форме не отрабатывает
18 сообщений из 18, страница 1 из 1
Init() в базовой форме не отрабатывает
    #34901375
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

VFP9SP1 есть класс формы "clsForm", на его основе класс "clsFormEdit" в обоих классах прописан Init(). В clsFormEdit.Init() вызывается DoDefault(). Ну и форма на основе clsFormEdit где в Init() ничего не прописано.

Уже который раз такой глюк происходит: В один прекрасный момент DoDefault() в clsFormEdit перестает работать. По происходящему видно что не выполняется код из clsForm.Init(). Лечится путем открытия кода clsForm.Init() добавлением пробела и закрытием с сохранением.
Причем clsForm я практически не трогаю. Слетает непонятно в какой момент. И с другими методами бывает, просто в Init() чаще DoDefault() вызываю. clsFormEdit - для примера привел, с другими дочерними классами от "clsForm" такая же ерунда.
Никаких некорректных завершений фокса не происходит.

Кто-нибудь с таким сталкивался? Чем полечить? А то как-то напрягать начинает. Вдруг завтра вообще код в форме пропадет.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901498
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нифга не понял - если в clsForm.INit пусто - (потому как туда потом пробел запихивали) то что должно сработать-то ?

"Бездоказательно дорогой профессор" (с)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CreateObject("My")

Define Class My as clsFormEdit

	Procedure init
	With this
		Activate Screen
		? 'My'
		DoDefault()
	EndWith

EndDefine 


Define Class clsFormEdit as clsForm

	Procedure init
	with this
		Activate Screen
		? 'clsFormEdit'
		DoDefault()
	EndWith

EndDefine 


Define Class clsForm as Form

	Procedure init
	Activate Screen
	? 'clsForm'

EndDefine
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901605
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pivaНифга не понял - если в clsForm.INit пусто - (потому как туда потом пробел запихивали) то что должно сработать-то ?

"Бездоказательно дорогой профессор" (с)
Да не пробел в ините. Когда сглючивает - открываю clsForm.Init() далее докнопочно: курсор в конец строки, "Пробел", "BackSpace", закрываем крестиком, на вопрос "Сохранить?" - "Да". Начинает работать до следующего раза.

Было б "доказательно" сам бы разобрался. Специально воспроизвести не получается. А так 1-2 раза в день сглючивает, зависимости не понятны. Думал может кто такое уже наблюдал
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901622
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может все-таки использовать тогда clsForm::Init() ?
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901683
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pivaМожет все-таки использовать тогда clsForm::Init() ?
Не знал что такой синтаксис в фоксе есть. Поменял. Если снова сглючит - отпишусь.

PS Забыл выше сообщить что классы в VCX-ах
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901699
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте и покажите пример, демонстрирующий проблему

и если не сложно, то тот код,
который у Вас нестабильно работает
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901720
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимосделайте и покажите пример, демонстрирующий проблему

и если не сложно, то тот код,
который у Вас нестабильно работает
Знать бы как ...

Dima T...
Было б "доказательно" сам бы разобрался. Специально воспроизвести не получается. А так 1-2 раза в день сглючивает, зависимости не понятны. Думал может кто такое уже наблюдал
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901733
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покривели мемо поля классов возможно - pack на них или Copy to и Cleanup Project - уж как минимум

ЗЫ - не люблю я VCX - видима потому что не умею готовить наверное
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34901808
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pivaПокривели мемо поля классов возможно - pack на них или Copy to и Cleanup Project - уж как минимум pack и Cleanup Project делал пару раз. Спасают только "пробелы". У меня тоже подозрения на мемо-поля, откомпилированный код куда-то уезжает, но я ж этот класс (clsForm) не трогаю. В производном ковыряюсь. Непонятно ничего. В VFP6 такого ни разу не видел.

Более правдоподобной кажется версия что DoDefault() криво ссылку на родительский класс получает. И ничего не делает. Тогда clsForm::Init() может и спасет. Спасибо за подсказку.

pivaЗЫ - не люблю я VCX - видима потому что не умею готовить наверное
А зря, они такие вкусные
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902042
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДумал может кто такое уже наблюдал

50 тыс пользователей
Vfp 9 sp2 - проблем не вижу

а вот с формами были
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902085
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня количество пользователей несколько меньше, но что-то никогда таких проблем не было.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902123
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть время на научный эксперимент,
возможно кто-то расценит шаманством, но предлагаю сделать так

от базового класса сделать clsForm
положить в 1-ю виз. библ-ку

пронаследовать от clsForm класс clsFormEdit
и положить его во 2-ю - в свою (другую) виз.библ-ку

посмотреть рез-т
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902220
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо авторДумал может кто такое уже наблюдал

50 тыс пользователей
Vfp 9 sp2 - проблем не вижу

а вот с формами были
Все 50 тыс с SP2? Он только вышел, а как ты так быстро рантайм всем заменил? Я не поиздеваться, просто думаю ставить или еще подождать. Тут как-то неоднозначно о SP2 отзывались.

Косяк вылазит при разработке. Тоже с формами :)

Косяк повторился. Оказывается лечится просто: Закрыл IDE, открыл и все хорошо. Хотя хорошего мало. Остается надежда что глюк только в IDE, а не в рантайме.

Научился повторять: в коде ошибка, нажимаю Suspend, потом в запустившемся дебагере добавил в Watch выражение для проверки (vartype(tcCaption) у меня в tcCaption NULL оказался), нажал "Cancel" в дебагере, (фокус на окно IDE перешел, дебагер остался запущеным), и после уже до "пробела" или перезапуска IDE не работает. Повторил 4 раза - глюк стабильный.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902275
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T...
Научился повторять: в коде ошибка, нажимаю Suspend, потом в запустившемся дебагере добавил в Watch выражение для проверки (vartype(tcCaption) у меня в tcCaption NULL оказался), нажал "Cancel" в дебагере, (фокус на окно IDE перешел, дебагер остался запущеным), и после уже до "пробела" или перезапуска IDE не работает. Повторил 4 раза - глюк стабильный.
Кому не лень, попробуйте повторить. Счас просто времени нет самплесы делать, немножко разгребусь - сделаю и выложу.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34902334
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВсе 50 тыс с SP2? Он только вышел, а как ты так быстро рантайм всем заменил?

у меня ФАП трудится ...

не боис - ставь - кушай и никого не слушай.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34906085
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не прописать в clsForm.Init() код DoDefault() ?
Мне иногда приходится так лечить формы.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34906088
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка.
Т.е. я имел в виду форму на основе clsFormEdit где в Init() ничего не прописано.
...
Рейтинг: 0 / 0
Init() в базовой форме не отрабатывает
    #34906238
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DagА почему бы не прописать в clsForm.Init() код DoDefault() ?
Мне иногда приходится так лечить формы.
В смысле продублировать код метода родительского класса в дочернем классе? Так тут все прелести наследования теряются.

PS Вчера пробовал самплес с глюком сделать. Полтора часа убил - не глючит :(
Видать много событий должно произойти чтобы сглючило. Весь проект смысла нет выкладывать, попробую методом чистки проекта оставить только необходимое. Может получится.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Init() в базовой форме не отрабатывает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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