Как?
Закрыть интерфейс только по кнопке
Модераторы: m0p3e, edward_K, Модераторы
- 
				Алексей
 - Местный житель
 - Сообщения: 2898
 - Зарегистрирован: 24 июн 2005, 12:12
 - Откуда: Иркутская область
 
Закрыть интерфейс только по кнопке
Хочу чтобы интерфейс закрывался только по кнопке в скрине, чтобы кнопка Esc и нажатие мышью на крестик ничего не делали...
Как?
			
			
									
						
										
						Как?
Попробуйте, такой вариант
			
			
									
						
										
						Код: Выделить всё
Interface TestClose;
  var
    IsClose: Boolean;
  view as select * from kated;
  Screen Scr;
  Buttons
    cmCls;
<<
 <. Exit .>
>>
  end;
  HandleEvent
    cmInit:
    {
      IsClose := False;
    }
    cmClose:
    {
      if (not IsClose)
      Abort
    }
    cmCancel:
    {
      if (not IsClose)
      Abort
    }
    cmCls:
    {
      IsClose := True;
      CloseInterface(0);
    }
  end;
end. 
Re: Закрыть интерфейс только по кнопке
Скажите, уважаемые знатоки, а насколько правомочна конструкция
Т.е., задача примерно такая: сделать интерфейс, который после отработки вызовет код из cmInit.
			
			
									
						
										
						Код: Выделить всё
interface MyFace
...
handleevent
  cmInit:
  {
...
  }
...
  cmClose:
  {
    RunInterface('MyFace');
  }
...
- 
				Den
 - Местный житель
 - Сообщения: 1847
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
 - Контактная информация:
 
Re: Закрыть интерфейс только по кнопке
По всей видимости, бесконечный "вечный двигатель" )
			
			
									
						
										
						Re: Закрыть интерфейс только по кнопке
Как тогда правильно поступить, чтобы интерфейс закрылся и заново запустился?
			
			
									
						
										
						- 
				edward_K
 - Заслуженный деятель интернет-сообщества
 - Сообщения: 5189
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: SPB galaxy spb
 
Re: Закрыть интерфейс только по кнопке
и зачем такие сложности? Если нужен вечный двигатель это одно - хватит и просто блокировки на закрытие. Если что то другое - то зачем?
			
			
									
						
										
						Re: Закрыть интерфейс только по кнопке
В общем, вот:
Для выбранного ЦО строится browse. Логично, чтобы после работы с ним, пользователю не пришлось вызывать интерфейс заново, а закрытие происходило только при отказе выбирать ЦО.
			
			
									
						
										
						Код: Выделить всё
  cmInit:
  {
    if RunInterface('F_FPCATALOG::GETCO', 1, 0, 0, podnrec) <> cmDefault then
    begin
      CloseInterface(0);
      abort;
      exit;
    end;
  }