Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / формы - объясните чайнику, плз / 11 сообщений из 11, страница 1 из 1
13.03.2006, 14:57
    #33596927
amto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
Проблема в следующем: Необходимо в форме ввода подключить несколько справочников, для однозначной идентификации значения. Для этого создала поисковую формочку. Все очень просто - в txt вводится текст для поиска. В ГРИДе устанавливатся на найденную по условию запись. Все работает.
Когда вызываю эту форму DO FORM- счастье заканчивается. Перестает работать поисковая форма. Указатель намертво врастает в 1-ю запись, хотя бродить с помощью мыши или клавиш позволяется. Нахожу запись вручную, закрываю форму, а в основной форме все txt теряют фокус.
Следующий поиск нужно делать уже из ГРИДа основной формы. Происходит аналогичная дребедень, правда, фокус не теряется, но значения в поля не присваиваются.
...
Рейтинг: 0 / 0
13.03.2006, 15:10
    #33596993
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
Используй Private DataSession для поисковой формы.
...
Рейтинг: 0 / 0
13.03.2006, 19:00
    #33597824
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
Может это глупый вопрос, но все же спрошу у Вас (профи). Есть команда thisform.release и метод в формк queryunload. Обычно thisform.release пишу в кнопке под названием EXIT. Может стоит в этой кнопке ссылаться на метод queryunload и там все закрытия прописывать? Как посоветуюте делать?
...
Рейтинг: 0 / 0
13.03.2006, 19:41
    #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
13.03.2006, 19:56
    #33597956
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
2 Aleksey-K
Сенкс
...
Рейтинг: 0 / 0
14.03.2006, 04:45
    #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
14.03.2006, 11:12
    #33598759
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
2 Doktor Gradus

В методе Unload release ненужен. Без этого и так сработает закрытие формы. В этом методе уже есть невидимый код закрытия. Поэтому я думаю что лучше в анлоде написать nodefault, thisform.exit.click(). А в клике все требуемые закрытия. И как раз избавляешься от копирования одного и тогоже текста. Меньше текста - проше и понятнее программа.
...
Рейтинг: 0 / 0
20.03.2006, 00:31
    #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
20.03.2006, 06:16
    #33610860
amto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
Для вызова поиковой формы все-же пришлось создать кноку. Вызов из метода так и не дался. Все работает, пока не собираю формы в FormSet. Криво как-то начинает работать. В гридах, связанных по ключу с порождающей таблицей, при добавлении новых записей не происходит очистка экрана. Фактически пишется все как надо, а на экране в гриде показываются записи, связанные с предыдущими из родителя. Когда запускаю формы отдельно - такого косяка не наблюдается. Но задача в том, чтобы пользователь имел возможность работать с любой из форм в наборе без заданной последовательности и закрывал их одновременно, после ввода всех , имеющихся данных.
И еще проблемка. После выбора значения в поисковой форме - присваиваю выбранное значение из справочника в таблицу основной форы. И обновить грид могу только привязавшись к какому-нибудь событию. А можно, чтобы сразу - добавила запись, присвоила значения полям и картинка на экране автоматом поменялась? Т.е., как только закрылась поисковая форма - в гриде показалась новая запись
...
Рейтинг: 0 / 0
20.03.2006, 10:17
    #33611098
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
2 Igor Korolyov
Со 3 и 4 понятно, а вот с 1 и 2 ... Где эти методы CanCloseForm() и CloseForm() в 9-е?
...
Рейтинг: 0 / 0
23.03.2006, 02:02
    #33618778
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
формы - объясните чайнику, плз
Hi Недоходящий!

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

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


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