powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как вернуть значение из модальной формы ?
25 сообщений из 65, страница 1 из 3
Как вернуть значение из модальной формы ?
    #33498644
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я работаю с Visual FoxPro 8 SP1

у меня есть модальная форма диалога входа (ну там имя, пароль, все такое).
во время работы этой формы мне не нужно главное окно ФоксПро, поетому я пишу SCREEN=OFF в файле CONFIG.FPW.
мне нужно вернуть некоторое значение из этой формы (например, вошел человек или нет) я не хочу использовать глобальные переменные для подобных случаев, поскольку считаю такой подход примером плохого тона (ну вы меня понимаете - область видимости переменных и все такое...), поэтому я пользуюсь оператором DO FORM MyForm TO MyVar.

вот. мы подошли к сути.
поскольку у меня нет ни главного окна ФоксПро (SCREEN=OFF) ни своего главного окна (я его еще не инициализировал, поскольку человек еще не вошел. а мало ли, может, он ваще не войдет) из за того, что главного окна нет, сразу после срабатывания Инита моей модальной формы она сразу выгружается (не знаю почему, видимо это очередной баг фокса, мать его).
вот. я могу, конечно, делать и так:
DO MyForm
READ EVENTS
а в Unload-е формы писать CLEAR EVENTS, но тогда как я верну значение вызывающей форму программе ?
я додумался только до следующего идиотического способа:
определяю класс на основе Custom, добавив в него всего одно PUBLIC свойство vRetVal.
создаю объект этого класса перед тем, как вызываю форму.
вызываю форму, передавая этот объект в ее Init, а там сохраняю его в заранее определенном для этого свойстве формы.
использкую READ EVENTS / CLEAR EVENTS для того, чтобы форма работала нормально.
при завершении работы формы назначаю свойству vRetVal того объекта необходимое значение.
форма отрабатывает, релизится, а объект остается. теперь я могу узнать значение !

люди, но это же бред, делать такие вещи ради того, что должно работать само, а не работает, мать его.

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

спасибо заранее
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33498759
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
o = CREATEOBJECT('ReturnValue')
WITH o
	.show( 1 )
	WAIT WINDOW TRANSFORM(.ReturnValue)
	.release()
ENDWITH 	


DEFINE CLASS returnvalue AS form

	Caption = "Form1"
	Name = "Form1"


	ADD OBJECT commandbutton1 AS commandbutton WITH ;
		Top =  204 , ;
		Left =  24 , ;
		Height =  36 , ;
		Width =  288 , ;
		Caption = "thisform.ReturnValue = 100", ;
		Name = "Commandbutton1"


	PROCEDURE Init
		this.AddProperty('ReturnValue') 
	ENDPROC


	PROCEDURE commandbutton1.Click
		thisform.ReturnValue =  100 
	ENDPROC


ENDDEFINE
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33498974
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм, этот способ очень хорош, но только в том случае, если я работаю с классами форм. но как быть, если политика партии такова, что мне приходится иметь дело с SCX файлами ?
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33498995
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем PUBLIC переменные!?. Достаточно PRIVATE, определенные в том методе, который вызывает диалоговую форму.
Глянь мой пример тут: http://www.caws.atnet.ru/vfox/vfox-sql6.html, метод AddNew
С уважением, Алексей
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33499037
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может не в тему.. но как-то надо было с формы передать значения 5-ти текстбоксов.. сделал просто
При выгрузке формы пишется
SELECT Text1 AS Param1, Taxt2 AS Param2... INTO CURSOR MyCursor
и все... при закрытии этой формы курсор остался и делай с его значениями, что угодно....
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33499120
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
do form with par1,par2,par3 (так только в форме будут видны, но не вернутся)

do form with @par1,@par2,@par3 (эти назад вернутся)


в форме в ините
lparam tpar1,tpar2,tpar3

затем им где нить присваивай

tpar1=..
tpar2=...
tpar3=...
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33499195
FM32....
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100

do form with @par1,@par2,@par3 (эти назад вернутся)



1 версия?
2 есть в документации (в 5-6-7 не нашел)
или методом проб найдено?
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33499264
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
????
читайте, там все написано
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501117
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi All!

2 --Eugene--

Чтобы "показать" форму в отсутствие главного окна её пришлось сделать
AsTopLevel - так? А теперь почитай хелп про AsTopLevel+Modal - коротко
говоря модальность в этом случае игнорируется. Так что у тебя абсолютно
нормальный случай НЕмодальной формы. При этом ты сделал совершенно верный,
нормальный и IMHO красивый вариант реализации - я например тоже параметры в
форму передаю (и получаю обратно) при помощи паттерна ParameterObject - это
универсально, гибко (хоть 1 возвращай параметр, хоть 1000 - с передачей тоже
самое - никаких дурных ограничений на число параметров при вызове метода).
Вообще я считаю что трюк с "возвратом" значения из формы слеудет давно
перестать использовать - уже хотя-бы потому что он работает ТОЛЬКО с scx
формами, причём ТОЛЬКО с модальными.

Варианты с Private переменной, и тем более с курсором гораздо хуже (начиная
с того что Private объявленная в main по сути ничем не отличается от Public,
а возврат через курсор будет работать исключительно если вызываемая форма
имеет Default DataSession)...

> определяю класс на основе Custom, добавив в него всего одно PUBLIC
> свойство vRetVal.
> создаю объект этого класса перед тем, как вызываю форму.

Свойство можно добавить в рантайме - т.е. можно использовать сразу базовый
класс, не плодя новых.
loParameter = CREATEOBJECT("Custom")
loParameter.AddProperty("vRetVal", .F.)
....

> вызываю форму, передавая этот объект в ее Init, а там сохраняю его в
> заранее определенном для этого свойстве формы.

Кстати такая функциональность у меня прописана сразу в базовом классе
формы - у меня ЛЮБОЕ взаимодействие вызывающего кода с вызываемой формой
происходит при помощи ParameterObject. При этом занимаясь субклассированием
конечно приходится помнить о необходимости вызова из Init подкласса кода
родителя, с передачей ему этого параметра (если он был принят! что вызывает
несколько громоздкую констуркцию). Впрочем это можно обойти, если запретить
в подклассах переопреелять САМ Init формы, создав скажем 2 "своих" метода, и
уже их вызывать из Init базовой формы...

> люди, но это же бред, делать такие вещи ради того, что должно работать
> само, а не работает

С модальныи формами только "это" работает - у тебя же форма немодальная.

2 alex11100

Ага, только ты забыл что для того чтобы это всё работало, нужно ещё и в Init
формы написать This.Show() - а кроме того присваивать "возвращаемые"
значения не "где-нибудь" а в том же само Init формы, но уже ниже
This.Show() - т.е. когда форма уже скрыта/уничтожается.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501160
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KА зачем PUBLIC переменные!?. Достаточно PRIVATE, определенные в том методе, который вызывает диалоговую форму.если речь идет о строке
Код: plaintext
DO FORM Currency_AddEdit WITH THISFORM, "ADD" TO m.llResponse
, то читайте мой первый пост внимательнее. дело в том, что раньше я программировал было на паскале, на си. там область видимости переменных играет немалую роль, и считается дурным тоном делать связку по данным между программными модулями. там это проще, поскольку есть указатели. в фоксе же их нет. вот и приходится выеживаться. мать его. да тут дело даже не в этом, а в том, что бага в фоксе (описанная мной ранее) не дает нормально жить.
и это только одна (1) бага. а их там пруд пруди, если копнуть глубже. чего только PageFrame стоит, мать его
alex11100
Код: plaintext
1.
2.
3.
do form with @par1,@par2,@par3
tpar1=..
tpar2=...
tpar3=...
это в ините проканает. а если мне нужно их присваивать в анлоаде или в дестрое или еще где ?

Igor KorolyovЧтобы "показать" форму в отсутствие главного окна её пришлось сделать
AsTopLevel - так? А теперь почитай хелп про AsTopLevel+Modal - коротко
говоря модальность в этом случае игнорируется. Так что у тебя абсолютно
нормальный случай НЕмодальной формы.
нет, я делаю ее (InTopLevelForm или InScreen) + Desktop=.T.
Form::Desktop - хорошее свойство
Igor Korolyov
я например тоже параметры в форму передаю (и получаю обратно) при помощи паттерна ParameterObjectзначит не один я очередной раз придумал велосипед с квадратными колесами.. это воодушевляет
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501360
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
...
Кстати такая функциональность у меня прописана сразу в базовом классе
формы - у меня ЛЮБОЕ взаимодействие вызывающего кода с вызываемой формой
происходит при помощи ParameterObject
....

Какой смысл создавать специальный объект-посредник для передачи параметров в диалоговую форму. Чем для этого плоха сама вызывающая форма. Кто вам при вызове диалоговой форму мешает передать ссылку на вызывающюю и затем в конструкторе модальной:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
LPARAMETERS loForm
WITH THISFORM
DODEFAULT()
IF PCOUNT() =  1  AND UPPER(VARTYPE(m.loForm)) == "O" ;
   AND UPPER(m.loForm.BaseClass) = "FORM"
      .P_Form = m.loForm
ELSE
   IF TYPE("_SCREEN.ActiveForm") == "O" AND ;
         UPPER(_SCREEN.ACTIVEFORM.BaseClass) = "FORM"
     .P_Form = _Screen.ActiveForm
  ENDIF
ENDIF
IF TYPE("THISFORM.P_FORM") == "O" ;
       AND UPPER(THISFORM.P_FORM.BaseClass) = "FORM"
   SET DATASESSION TO (THISFORM.P_FORM.DataSessionID)
ENDIF
ENDWITH
И теперь в модальной форме вы:
1. Имеете доступ во всем курсорам главной формы (DataSession у них равны)
2. Через ссылку THISFORM.P_Form имеете доступ ко всем свойствам вызывающей формы.
Тем более, как вы сами заметили, свойства можно добавлять (и, кстати, удалять) динамически. В том числе и в вызывающую (не модальную) форму.
С уважением, Алексей
P.S. Кстати, методы вы добавлять в свой Proxy-объект динамически не можете, а я могу через ссылку на вызывающую форму, использовать и ее методы в модальной форме.
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501382
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--
если речь идет о строке
Код: plaintext
DO FORM Currency_AddEdit WITH THISFORM, "ADD" TO m.llResponse
, то читайте мой первый пост внимательнее. дело в том, что раньше я программировал было на паскале, на си. там область видимости переменных играет немалую роль, и считается дурным тоном делать связку по данным между программными модулями. там это проще, поскольку есть указатели. в фоксе же их нет. вот и приходится выеживаться. мать его. да тут дело даже не в этом, а в том, что бага в фоксе (описанная мной ранее) не дает нормально жить.
и это только одна (1) бага. а их там пруд пруди, если копнуть глубже. чего только PageFrame стоит, мать его
Ну, допустим, в VFP тоже етсь область видимости переменных (LOCAL, PRIVATE, PUBLIC) и она тоже имеет огромное значение. Или вы все свои переменные оформляли в виде PUBLIC?
Насчет указателей. Они тоже есть в VFP и активно используются. В моем примере, которые вы привели как раз и используются указатель на вызывающюю форму (THISFORM) для того, чтобы модальная форма могла через этот указатель использовать свойства и методы вызывающей формы (например ее DataSession и положения относительно _SCREEN).
В VFP тоже считается дурным тоном иметь "связку между программными можулями через переменные" (и тем более, через PUBLIC). Но вызов модальной формы из главной - это никак нельзя назвать, как связь между програмными модулями. Вот вместе они составляют программный модуль.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501410
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K Igor Korolyov
...
у меня ЛЮБОЕ взаимодействие вызывающего кода с вызываемой формой
происходит при помощи ParameterObject
....

Какой смысл создавать специальный объект-посредник для передачи параметров в диалоговую форму. Чем для этого плоха сама вызывающая форма. Кто вам при вызове диалоговой форму мешает передать ссылку на вызывающюю и затем в конструкторе модальной...да ? а если я вызываю форму из PRG файла ? это вам не шубу в трусы заправлять (пардон)
Aleksey-KP.S. Кстати, методы вы добавлять в свой Proxy-объект динамически не можете, а я могу через ссылку на вызывающую форму, использовать и ее методы в модальной форме.странно, а разве вообще можно "добавлять" методы динамически ? а если речь идет об использовании существующих методов формы, переданной по ссылке в вызываемую, то оно, конечно, хорошо, но, опять же, как быть, если "вызывающей" формы нет, а "вызываемая" форма запускается в PRG файле. например, в main.prg происходит DO FORM Login.scx ?
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501423
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--? а если я вызываю форму из PRG файла ? это вам не шубу в трусы заправлять (пардон)

Я бы вам советовал:
1. Отказаться от использования VFP и вернуться назад на PASCAL, DELPTHI и пр. Там у вас, очевидно, получалось лучше и с шубами и с трусами.
2. Сменить тон.
3. Отказаться от вызова формы Login из главного программного модуля. (это уже по существу).
Алексей.
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501451
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения, если вас задела пара слов не по существу
Aleksey-KЯ бы вам советовал отказаться от вызова формы Login из главного программного модуляа как вы себе представляете запуск диалога входа если не в главной программе ?
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501505
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычную форму можно заставить вести себя как класс
local loFrm
Код: plaintext
1.
do form frmMy name loFrm noshow 
loFrm.Show() 
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501539
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Eugene--прошу прощения, если вас задела пара слов не по существу
Aleksey-KЯ бы вам советовал отказаться от вызова формы Login из главного программного модуляа как вы себе представляете запуск диалога входа если не в главной программе ?
Ну, например, главная программа тоже реализован как класс, объект которого создается в MAIN.PRG и для входа в систему (после успешного создания экземпляра этого класса), просто вызывается соответствующий метод этого объекта, например Login, а у объекта есть свойства: User_Login, User_Password и еще все, что вашей душе угодно.
Может вам поможет мой пример: http://www.caws.atnet.ru/vfox/vfox-sql.html
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501561
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CripОбычную форму можно заставить вести себя как класс
local loFrm
Код: plaintext
1.
do form frmMy name loFrm noshow 
loFrm.Show() 
это понятно, но потом ведь все равно придется дописать READ EVENTS, а в методе Unload этой формы написать CLEAR EVENTS, поскольку диалог входа является модальной формой. но как мне получить результат ? я не могу использовать DO FORM TO, потому, как не имею главного окна.

ясно. или передавать в Инит названия переменных, заранее определенных для возвращения результатов или использовать фиктивный объект в качестве посредника..

жаль, что нет нормального способа
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501598
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KНу, например, главная программа тоже реализован как класс, объект которого создается в MAIN.PRGспасибо за пример. а можно ли как-то перегрузить класс приложения и сделать свой, из которого будет получаться объект Application ?
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33501629
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor Korolyov
я не стараюсь разжевывать, я просто намекнул как это делается

вот еще способ

this.runform(nameform,@par1,@par2,@par3)

method runform
lpara tnameform,tpar1,tpar2,tpar3
local oForm
do form tnameform name oForm
if type(oForm)=="O" and oForm.lResult = .t.
tpar1 = ??
tpar2 = ??
tpar3 = ??
endif


а это вообще вот рабочий кусок
*:Remarks:
Активация формы выбора товаров.

*:Example:
oDlg.SelectList_Good(this.cObjCl, this.cExpr, this.tcExprConst, @lcXML)

lparameters tcCursor, tcExpr, tcExprConst, tnPriID, tData, tcTrasfer
* Создаем курсорадаптер для справочника
if type("tcCursor")="C" and !used(tcCursor)
if oApp.loadObject(tcCursor)<>0
oDlg.MsgErr("Невозможно инициализировать объект "+tcCursor,1,1,1,1, cj_getReturn())
return -1
endif
endif
* Активируем форму выбора из справочника
local lnResult, oDlgSelectList
lnResult = 0
oDlgSelectList = createobject("frm_selectlist_good", tcCursor, tcExpr, tcExprConst, tnPriID, tData)
if vartype(oDlgSelectList)=="O" and !isnull(oDlgSelectList)
oDlgSelectList.show()
if vartype(oDlgSelectList)=="O" and !isnull(oDlgSelectList)
lnResult = oDlgSelectList.nModalResult
tcTrasfer = oDlgSelectList.cTrasfer
else
lnResult = 0
tcTrasfer = 0
endif
endif
release oDlgSelectList

return lnResult
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33502065
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100
Код: plaintext
1.
2.
3.
if vartype(oDlgSelectList)=="O" and !isnull(oDlgSelectList)
...
endif
Код: plaintext
1.
2.
3.
?vartype(THISFORM)
O
?vartype(.NULL.)
X
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33502100
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и чта дальша???

этоть мой золотой костыль
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33502317
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, я не понял самой постановки задачи.

Форма ввода логина и пароля ЧТО должна сделать?

Я всегда считал, что эта форма дает пользователю ввести 2 значения и по нажатию кнопки Ok делает вывод о допустимости или не допустимости дальнейшей работы этого пользователя.

Т.е. эта проверка делается ВНУТРИ формы, а вовсе не в основной программе. Ну, или как минимум, из этой формы организуется вызов внешней процедуры проверки.

Другими словами, ЧТО предполагается возвращать из этой формы? Какой смысл в этом самом возвращаемом значении?

Значит, логика работы совершенно другая. Эта форма вообще ничего не возвращает, а только САМА принимает решение: продолжить дальнейшую работу с программой или завершить.

Следовательно код главной программы будет примерно таким:

Код: plaintext
1.
2.
3.
4.
_SCREEN.Visible = .F.	&& обычно дается в Config.fpw
DO MainMenu.mpr		&& Основное управляющее меню приложения
DO FORM Login.scx
READ EVENTS

В событии UNLOAD формы Login.scx дается примерно такой код:

Код: plaintext
1.
2.
3.
4.
5.
IF (разрешить работу с программой)
	_SCREEN.Visible = .T.
ELSE
	CLEAR EVENTS
ENDIF

ВСЕ! Какие еще возвращаемые значения?

Если в этой форме делаются какие-то глобальные настройки, то они именно глобальные. Т.е. присваиваются глобальным переменным или глобальному объекту. Опять нет смысла в возвращаемых значениях.

К сведению :

Если в модальной форме дать команду ThisForm.Hide(), то форма скроется и выполнение программы продолжится со следующей после команды DO FORM команды. Т.е. с модальными формами можно работать так:

Код: plaintext
1.
2.
3.
4.
5.
DO FORM MyModalForm.scx NAME MyForm
IF TYPE("m.MyForm") = "O" AND IsNull(m.MyForm) = .F.
	?MyForm.Caption
	MyForm.Release()
ENDIF

В данном случае, заголовок окна формы будет прочитан если форма будет закрыта командой ThisForm.Hide().
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33502437
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--
там что про изнул то было
типа нашел у меня глюк???

нехорошо - дяденьку обидел
...
Рейтинг: 0 / 0
Как вернуть значение из модальной формы ?
    #33502515
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex11100 :)

ВладимирМВообще-то, я не понял самой постановки задачи.
Форма ввода логина и пароля ЧТО должна сделать?
Я всегда считал, что эта форма дает пользователю ввести 2 значения и по нажатию кнопки Ok делает вывод о допустимости или не допустимости дальнейшей работы этого пользователя... Другими словами, ЧТО предполагается возвращать из этой формы? Какой смысл в этом самом возвращаемом значении?не вдавайтесь в подробности, да Бог знает, что там на форме делается. разве только логин может там быть ? ВладимирМ К сведению :
Если в модальной форме дать команду ThisForm.Hide(), то форма скроется и выполнение программы продолжится со следующей после команды DO FORM команды. Т.е. с модальными формами можно работать так:
Код: plaintext
1.
2.
3.
4.
5.
DO FORM MyModalForm.scx NAME MyForm
IF TYPE("m.MyForm") = "O" AND IsNull(m.MyForm) = .F.
	?MyForm.Caption
	MyForm.Release()
ENDIF
В данном случае, заголовок окна формы будет прочитан если форма будет закрыта командой ThisForm.Hide().а вот это действительно то, что мне нужно! спасибо, дружище!
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как вернуть значение из модальной формы ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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