powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Enable и объект form
12 сообщений из 12, страница 1 из 1
Enable и объект form
    #33272356
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть три формы.
forma1.scx
forma2.scx
forma3.scx
Из первой формы при клике вызывается вторая(которая formset, но это не важно).
Из второй вызывается третья форма (тоже formset), в которой идет ожидание отправления запроса по сетке и потом ожидание приема ответа на сообщение).
Вторая форма должна быть отключена на время ожидания, чтобы пользователь дел не натворил. Но видима.
Делаю во второй форме перед вызовом третьей формы:

public act_forma
act_forma ="forma2.form3"
thisform.enabled=.f.

Чтобы вернуться назад, после отработки посылки сообщения и приема:

act_forma = act_forma+".enabled=.t."
&act_forma

Но получаю ответ, но такой формы как forma2 не найдено.
Смотрю в дебуггере окно locals, а там только первая форма в памяти известна, а второй и не пахнет.

Действительно. Если делаются те же действия без первой формы, то все идет как надо.

В памяти что, только имя первой формы сидит?
Как обойти? Вводить в formset второй формы первую?
Но она применяется еще в некоторых местах, не хочется плодить одинаковые формы.
Да и третья то же используется еще в нескольких случаях.
Что посоветуете?
...
Рейтинг: 0 / 0
Enable и объект form
    #33272409
сначала
Код: plaintext
1.
2.
public act_forma 
act_forma = ThisForm
thisform.enabled = .F.
а потом
Код: plaintext
1.
act_forma.enabled = .T.
release act_forma
...
Рейтинг: 0 / 0
Enable и объект form
    #33272477
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем так наворочено ?!?

Не проще-ли третью форму сделать модальной !?

Тогда пока ее не закроешь, с предыдущим формам доступа иметь не будешь ...
...
Рейтинг: 0 / 0
Enable и объект form
    #33272660
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий Маликовсначала
Код: plaintext
1.
2.
public act_forma 
act_forma = ThisForm
thisform.enabled = .F.
а потом
Код: plaintext
1.
act_forma.enabled = .T.
release act_forma


Так в том-то и дело, Что так не работает.
ругается на act_forma.enabled = .T., когда я пишу так при закрытии третьей формы,
говорит, что не знает такой формы, как вторая форма.(Напомню:)

А третью форму делать модальной нельзя. Она используется еще в нескольких местах.
В одном из случаев она используется, где ее еще не закрывая,а только наблюдая,
делают действия еще на одной форме.
Здесь же нужно строго дождаться ответа.
...
Рейтинг: 0 / 0
Enable и объект form
    #33272666
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорвалось в предыдущем ответе насчет Напомню:Смотрю в дебуггере окно locals, а там только первая форма в памяти известна, а второй нет.
Значит выбора для перехода к любой из открытых форм нет?
...
Рейтинг: 0 / 0
Enable и объект form
    #33272685
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создай ссылки на свои формсеты из каждого формсета и проверяй если ссылка у формсета2 на формсет3 <> Object, то можно производить действия иначе нельзя.
...
Рейтинг: 0 / 0
Enable и объект form
    #33272739
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДелаю во второй форме перед вызовом третьей формы:

public act_forma
act_forma ="forma2.form3"
thisform.enabled=.f.

ух ... где-где Вы паблик объявляете?
хотя ничего не понял о процессе
...
Рейтинг: 0 / 0
Enable и объект form
    #33272819
Maltsev Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторак в том-то и дело, Что так не работает.
ругается на act_forma.enabled = .T., когда я пишу так при закрытии третьей формы,
говорит, что не знает такой формы, как вторая форма

А вторая форма на экране присутствует ?!?
...
Рейтинг: 0 / 0
Enable и объект form
    #33274568
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leaf
ух ... где-где Вы паблик объявляете?
хотя ничего не понял о процессе
В принципе, все паблик у меня объявляются в стартовой прг-шке.
Здесь привел, чтобы пояснить, что она именно паблик.
...
Рейтинг: 0 / 0
Enable и объект form
    #33274572
Max4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maltsev Max авторак в том-то и дело, Что так не работает.
ругается на act_forma.enabled = .T., когда я пишу так при закрытии третьей формы,
говорит, что не знает такой формы, как вторая форма

А вторая форма на экране присутствует ?!?
В том-то и дело, что видеть я ее вижу, а добраться к ней не могу.
Говорит, нет ее и все!
Если же обойтись без запуска первой формы, то все как надо.
Возвращается правильно. Но мне и первая форма нужна! Через нее идет выход ко второй первоначально.
...
Рейтинг: 0 / 0
Enable и объект form
    #33274664
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для справки:

Пока форма не стала видима, допустимо менять ее режим модальности. Т.е. если в INIT-формы написать что-то вроде

Код: plaintext
1.
2.
3.
4.
LPARAMETERS tlIsModal
IF TYPE("m.tlIsModal")="L" AND m.tlIsModal=.T.
	ThisForm.WindowType =  1 
ENDIF

И вызов сделать

DO FORM MyForm.scx WITH .T.

то форма откроется как модальная, а если

DO FORM MyForm.scx WITH .F.

(или вообще без параметра), то как НЕ модальная.
...
Рейтинг: 0 / 0
Enable и объект form
    #33275086
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ВладимирМ & All!

Я предпочитаю в таком случае использовать DO FROM ... NAME aaa NOSHOW
И соответственно показывать её явной командой m.aaa.Show(1)

А вообще проблема очевидно в переменной-ссылке form2. Вообще ЯВНО создаётся
не ссылка на форму, а переменная с ИМЕНЕМ формы - в надежде на то, что DO
FROM form2 создаст ссылку на этот формсет с именем form2... Конечно оно так
и будет, но эта авто-переменная будет иметь область видимости PRIVATE и если
DO FORM Form2 было использовано внутри метода какой-то другой формы (Form1)
и при этом Form2 немодальная, то эта переменная уничтожится по завершении
метода - при этом ессно что сам формсет form2 будет продолжать существовать,
но уже БЕЗ ПРЯМОЙ переменной-ссылки на себя.

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


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