powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Где поставить SET TALK OFF?
13 сообщений из 13, страница 1 из 1
Где поставить SET TALK OFF?
    #34865314
AMorkovka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ставил в CONFIG.FPW, стартовой программе или в LOAD частной формы. На такой форме есть Грид. СOLUMNCOUNT=-1 по умолчанию. Программа пока написана так, что если разработчик забыл изменить его на >0, выдается пустой грид как если СOLUMNCOUNT=0 - чтобы пользователь не увидел ненужные данные. Для этого в СOLUMNCOUNT_Assign:

LPARAMETERS vNewVal
*To do: Modify this routine for the Assign method
SET TALK OFF
IF m.vNewVal=-1
m.vNewVal=0
ENDIF
THIS.ColumnCount = m.vNewVal

После чего где SET TALK OFF ни ставлю (кроме как в этом методе), выводится как по ? значение ColumnCount на экран или активную форму. А как можно при таком подходе где-то выше по иерархии поставить SET TALK OFF?
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34865457
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут и оставь его.
Мне тоже пришлось в своем классе колонки в его Init воткнуть SET TALK OFF.
Иначе, в формах с приватными сессиями вылезает текст на экран.
Это BUG VFP. Init колонки своего класса происходит ДО события LOAD формы, где и стоял первоночально SET TALK OFF.
С уважением, Алексей
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34865470
AMorkovka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо. Спасибо!
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34865837
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторInit колонки своего класса происходит ДО события LOAD формы

не правда!

последовательность для формы scx
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DATAENVIRONMENT.OPENTABLES
DATAENVIRONMENT.BEFOREOPENTABLES
FORM.LOAD
INIT for each cursor in the DataEnvironment
DATAENVIRONMENT.INIT
INIT for each control in the form
FORM.INIT
FORM.SHOW
FORM.ACTIVATE
FORM.REFRESH
WHEN for 1st control in TabOrder
GOTFOCUS for 1st Control in TabOrder (if it has one)



авторЭто BUG VFP. Init колонки своего класса происходит ДО события LOAD формы
укажите на ошибку
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34865869
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34866321
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тот порядок событий, который вы привели и который используется в вашем примере соответствует документации и соответствует 99% наблюдаемого мною поведения событий в VFP.
А вот на 1% процент приходится наблюдаемые мною отклонениея от стандартного поведения.
Закономерность я не вывел.
Вот, например, сейчас я такой Bug наблюдаю, когда форма запускается через DO FORM. Сама форма создана на основе класса, который находится в vcx файле. Класс содержит PageFrame и GRID на его первой странице c 2 колонками моего класса колонки, определение которого расположено в prg файле. В форме, наследуемымой из этого класса, визуальными средствами редактирования добавлены еще 7 колонок. Так вот в этом случае последовательность событий такова:
1. Сначала возникают события INIT 7 колонок, которые были добавлены в дизайнере формы !!!! (Вот так !!!)
2. Затем возникает событе LOAD формы.
3. И только затем возникают события INIT 2 колонок, которые есть в классе от которого "пророщена" моя форма !!!! и далее события INIT всех остальных объектов формы, добавленные в неё в дизайнере формы.
Вот такая лажа. И в INIT этих колонок (которое возникает ДО Load формы и до SET TALK OFF в нем) у меня ест код, который и сопровождается выводом не нужной информации на экран, которая должна "давится" SET TALK OFF.
Если не верите, то могу прислать свой код, но это действительно так.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34866338
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте тестовый пример. Как-то мне не верится, что Init-объектов может быть выполнен ДО LOAD-контейнера. Что они загружать-то будут?
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34868287
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМСделайте тестовый пример. Как-то мне не верится, что Init-объектов может быть выполнен ДО LOAD-контейнера. Что они загружать-то будут?
Так и сделаю, но в выходные. Сложно "выдернуть" класс из большой библиотеке.
С уважением, Алексей
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34870211
AMorkovka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К ВладимирМ. При SET STATUS BAR ON вроде все нормально, а вот почему так? Пример прилагаю, извините, что ДУ ФОРМ, немногожко время поджимает, но тут очевидно срабатывание ЛОАД формы после.
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34870677
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в Вашем примере метод лоад формы
стартует как и положено раньше инитов контролов

иниц-я грида неверная,
т.к. описанные своими классами колонки и хедеры, нужно подключать
через св-ва мемберкласс грида, а не придумывать шаманства на пустом месте
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34870784
AMorkovka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Да, пока не очень правильно.
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34870797
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AMorkovka считаю, что давать Вам советы, видя Ваши исх-е коды в таком виде -
просто бесполезное занятие, т.к. Вы заниметесь метанием набора
универс. костылей в различные точки исходников,
вместо лог-го построения классов и ипс-я методов и принципов ООП

Вы задаете вопросы на форуме, и дальше вставляете эти костыли в
Ваш код, не понимая какой рез-т будет в конечном виде, ... так, что извините

классы начинают разрабатывать тихим сапом, постепенно наследуя и оборачивая,
создавая какие-то сущности, при этом максим-но стараясь не допустить ош-к
на начальном этапе разр-ки

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

костыли навставлять можно ...
и советов надавать можно, но смысла никакого я не вижу абсолютно ...
...
Рейтинг: 0 / 0
Где поставить SET TALK OFF?
    #34872227
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AMorkovkaПри SET STATUS BAR ON вроде все нормально, а вот почему так?

Потому что в этом случае надо выполнить две настройки:

Код: plaintext
1.
2.
SET TALK OFF
SET TALK WINDOW

SET TALK выводится как раз в Status Bar, а если он отключен, то в текущее активное окно. Вторая настройка как раз и отключает вывод в текущее окно, которое и является созданной формой.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Где поставить SET TALK OFF?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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