powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проверка существования формы
6 сообщений из 6, страница 1 из 1
проверка существования формы
    #36340683
Gans-255
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Делаю проверку сушествования формы, при первом проходе по условию форма запускается и получает свое, но при последуюшем проходе появляется ошибка Object KRform is not found .
При этом форма находится под активной формой.
И еще если форма KRform ранее запускалась из другого места, то условие отрабатывает как надо и ошибок не возникает.
Я не спец, поэтому прошу помощи

IF TYPE("_VFP.Forms('KRform')")="U"
DO FORM KRform.scx
ELSE
KRform.Grid1.RecordSource='tmp'
KRform.refresh
ENDIF
...
Рейтинг: 0 / 0
проверка существования формы
    #36340861
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в инит формы проверка на ее уникальность
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
if this.lOnlyOne
	FOR EACH cName IN _SCREEN.FORMS
		IF cName.BASECLASS="Form" AND ALLTRIM(UPPER(cName.NAME))==ALLTRIM(UPPER(THISFORM.NAME)) and cName<>this
			IF cName.WINDOWSTATE= 1 
				cName.WINDOWSTATE= 0 
			ENDIF
			
			ACTIVATE WINDOW (cName.NAME)
			
			RETURN .F.
		ENDIF
	ENDFOR
endif

.... дальше какой-то код

алгоритм работает след.образом:
- если такой активной формы еще нет, то выполнение инита не прервется
- если есть форма и будет попытка запустить форму с таким-же Name, то та,
которая уже существует станет активной
...
Рейтинг: 0 / 0
проверка существования формы
    #36341359
Gans-255
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В моем случае если форма ранее запускалась из главного меню программы, то к ней можно обращаться, а если она запушена из другого места, то обращаться я к ней немогу,
поэтому при первом проходе условия форма запускается, а при последуюших форма видна, но ругается на команды стоящие после ELSE таким матом Object KRform is not found.
Как же сделать, чтобы она была доступна из любого уголка программы.

IF TYPE("_VFP.Forms('KRform')")="U"
DO FORM KRform.scx
ELSE
KRform.Grid1.RecordSource='tmp'
KRform.refresh
ENDIF
...
Рейтинг: 0 / 0
проверка существования формы
    #36341473
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант - это привязка формы к глобальной переменной с тем-же именем. Не знаю, насколько это правильно или нет, но сможешь по имени переменной из любого места проги обращаться к форме и ее свойствам. Скажем убить форму: relase f_otcheti
Код: plaintext
1.
2.
PUBLIC f_otcheti
DO FORM f_otcheti NAME f_otcheti LINKED
Тогда
...
Рейтинг: 0 / 0
проверка существования формы
    #36341880
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gans-255В моем случае если форма ранее запускалась из главного меню программы, то к ней можно обращаться, а если она запушена из другого места, то обращаться я к ней немогу, поэтому при первом проходе условия форма запускается, а при последуюших форма видна, но ругается на команды стоящие после ELSE таким матом Object KRform is not found.

Как же сделать, чтобы она была доступна из любого уголка программы.

Код: plaintext
1.
2.
3.
4.
5.
6.
IF TYPE("_VFP.Forms('KRform')")="U"
    DO FORM KRform.scx
ELSE
    KRform.Grid1.RecordSource='tmp'
    KRform.refresh
ENDIF

Перепишите код вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
IF TYPE("_VFP.Forms('KRform')")="U"
    DO FORM KRform.scx
ELSE
    _VFP.Forms('KRform').Grid1.RecordSource='tmp'
    _VFP.Forms('KRform').refresh()
ENDIF
...
Рейтинг: 0 / 0
проверка существования формы
    #36342096
Gans-255
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ

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


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