Страница 1 из 1

FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 13:11
GTHack
Допустим я линк сделал токо для того чтобы из него фейс запустить. Как автоматом закрыть появившийся после отработки фейса пустой отчёт ?

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 13:32
Goblin
Escape'ом руками :)
Или после RunIterface в программном блоке формы поставь ProcessCommand(cmDone или cmCancel) ...

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 13:51
GTHack
не понимает фком ProcessCommand, чисто виповская штучка, а мне нужно именно фкомом закрыть линк

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 13:53
GTHack
вообще где бы полный список функций заполучить, которые фком понимает?

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 14:11
Maverick
1.ФКОМ по идее понимает все ф-ии випа.
2. Если в обработчике интерфейса, который формирует поток для формы-прототипа, линкформу которой ты юзаешь, есть проверка (!) на прерывание пользователя (Abort or Break), то после вызова интерфейса, после всех циклов формы нуна поставить fBreak - и форма уйдет в даун.

Метод FBreak
Назначение
Процедура прекращает исполнение формы или цикла до момента его нормального завершения. Программа переходит к выполнению следующего оператора. Вызов метода возможен в любом программном блоке и процедуре формы. Если метод вызван в программном блоке цикла, то происходит выход из цикла, иначе - выход из формы.

Хотя я не понимаю - нафига пихать интерфейс в линк-форму, которая нифига не выводит? Легче запихнуть такой фейс в АРД - там точно можно по фБреку отстрелить ее

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 15:09
GTHack
1. я по поводу openfile уже тему поднял, и это не последний случай когда компилятор просто не понимает функций, почему и спрашиваю
2. фейс который формирует поток стандартный, поэтому мне недоступен - прототип prbdoc.

fBreak как процедура вставленная в программный блок .begin end. компилятором (опять же!) не была распознана. Он просто сказал что нет такой ф-ии процедуры и пр.
может я с синтаксисом чего напутал, но в голову ничего не приходит.

а нужно мне это вот для чего - навели на счёт-фактуру из привычного людям брауза, нажали привычный ctr+p - выбрали там линк форму "печать сертификатов" и мой фейс который вызвался из этой линк формы распечатывает все сертификаты по спецификации, не выводя ничего на экран - молча, вот для этого я и хочу автоматом из линка закрыть собственно получившийся пустой отчёт.

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 15:59
GTHack
а еще лучше чтоб результат работы фейса (какой нить отчётик о распечатке сертификатов)как нибудь обратно в линк передался и вывелся

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 16:00
m0p3e
nameform.fBreak писать нуна...

Re: FCOM - как закрыть линк форму

Добавлено: 09 июн 2004, 18:22
Kareno
Я пишу так
.Form 'ard_AHint'
.ard
.NameInList "Моё"
.F 'nul'
.begin
RunInterface('iMyFace');
end.
.endform

соответственно .F 'nul' не дает никакого отчета

Re: FCOM - как закрыть линк форму

Добавлено: 10 июн 2004, 06:50
ira
А можно и так, работает точно.
Отчет на экран не выводится.
.linkform 'nameform1' prototype is 'nameform'
.{
.}
.begin
RunInterface('iMyFace');
nameform.fExit;
end.
.endform

Re: FCOM - как закрыть линк форму

Добавлено: 10 июн 2004, 08:40
GTHack
Всем большое спасибо, оба метода работают !!