powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / формы - объясните чайнику, плз
11 сообщений из 11, страница 1 из 1
формы - объясните чайнику, плз
    #33596927
amto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем: Необходимо в форме ввода подключить несколько справочников, для однозначной идентификации значения. Для этого создала поисковую формочку. Все очень просто - в txt вводится текст для поиска. В ГРИДе устанавливатся на найденную по условию запись. Все работает.
Когда вызываю эту форму DO FORM- счастье заканчивается. Перестает работать поисковая форма. Указатель намертво врастает в 1-ю запись, хотя бродить с помощью мыши или клавиш позволяется. Нахожу запись вручную, закрываю форму, а в основной форме все txt теряют фокус.
Следующий поиск нужно делать уже из ГРИДа основной формы. Происходит аналогичная дребедень, правда, фокус не теряется, но значения в поля не присваиваются.
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33596993
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй Private DataSession для поисковой формы.
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33597824
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это глупый вопрос, но все же спрошу у Вас (профи). Есть команда thisform.release и метод в формк queryunload. Обычно thisform.release пишу в кнопке под названием EXIT. Может стоит в этой кнопке ссылаться на метод queryunload и там все закрытия прописывать? Как посоветуюте делать?
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33597939
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НедоходящийМожет это глупый вопрос, но все же спрошу у Вас (профи). Есть команда thisform.release и метод в формк queryunload. Обычно thisform.release пишу в кнопке под названием EXIT. Может стоит в этой кнопке ссылаться на метод queryunload и там все закрытия прописывать? Как посоветуюте делать?
Лучше так (на мой взгляд):
Кнопка Exit.Click()
Код: plaintext
1.
2.
IF THISFORM.QueryUnload()
	THISFORM.Release()
ENDIF
А вот закрытие формы через крестик в правом верхнем углу формы само проверят QueryUnload.
В коде сробытия QueryUnload обычно вставляют код, который проверяет, а можно ли сейчас закрыть форму.
С уважением, Алексей.
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33597956
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Aleksey-K
Сенкс
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33598231
Doktor Gradus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так:

Код в Exit.Click
Код: plaintext
1.
2.
3.
4.
5.
6.
...
&& всякий нужный код...
...
&& и наконец:
thisform.unload()


Код в thisform.unload()
Код: plaintext
1.
2.
3.
4.
5.
...
&& всякий нужный код...
...
&& и наконец:
release thisform
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33598759
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Doktor Gradus

В методе Unload release ненужен. Без этого и так сработает закрытие формы. В этом методе уже есть невидимый код закрытия. Поэтому я думаю что лучше в анлоде написать nodefault, thisform.exit.click(). А в клике все требуемые закрытия. И как раз избавляешься от копирования одного и тогоже текста. Меньше текста - проше и понятнее программа.
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33610744
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

1 - Метод формы CanCloseForm() - он проверяет твои условия, и если можно
закрыть форму, то возвращает .T.
2 - Метод формы CloseForm() - там прописаны те действия, которые необходимо
выполнять при закрытии формы - например сохранение данных из буфера, а также
собственно строка ThisForm.Release()
3 - в cmdExit.Click()
IF ThisForm.CanCloseForm()
ThisForm.CloseForm()
ENDIF
4- в Form.QueryUnload()
NODEFAULT
IF ThisForm.CanCloseForm()
ThisForm.CloseForm()
ENDIF

Можно в принципе проверку перенести в сам метод CloseForm()...

Писать какую-либо логику в обработчиках события (что в cmd.Click что в
form.QueryUnload) не стоит.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33610860
amto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для вызова поиковой формы все-же пришлось создать кноку. Вызов из метода так и не дался. Все работает, пока не собираю формы в FormSet. Криво как-то начинает работать. В гридах, связанных по ключу с порождающей таблицей, при добавлении новых записей не происходит очистка экрана. Фактически пишется все как надо, а на экране в гриде показываются записи, связанные с предыдущими из родителя. Когда запускаю формы отдельно - такого косяка не наблюдается. Но задача в том, чтобы пользователь имел возможность работать с любой из форм в наборе без заданной последовательности и закрывал их одновременно, после ввода всех , имеющихся данных.
И еще проблемка. После выбора значения в поисковой форме - присваиваю выбранное значение из справочника в таблицу основной форы. И обновить грид могу только привязавшись к какому-нибудь событию. А можно, чтобы сразу - добавила запись, присвоила значения полям и картинка на экране автоматом поменялась? Т.е., как только закрылась поисковая форма - в гриде показалась новая запись
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33611098
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Igor Korolyov
Со 3 и 4 понятно, а вот с 1 и 2 ... Где эти методы CanCloseForm() и CloseForm() в 9-е?
...
Рейтинг: 0 / 0
формы - объясните чайнику, плз
    #33618778
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Недоходящий!

Ну ты и лентяй :) Напиши в MS - может они и их "встроят" :)
Это пользовательские методы, в которых и описана соответствующая логика.
Ты же не надеялся, что всё программирование сводится только к вызову готовых
методов :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / формы - объясните чайнику, плз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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