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

Не работает cmInit

Добавлено: 10 апр 2006, 10:22
Nikos
Добрый день. Помогите разобраться с заданием начальных значений. Пишу интерфейс:

#include UserReport.vih
VipInterface UserReport_Test Implements IUserReport;
Interface UserReport_Test show at (1,1,47,6);
create view
var
dateFrom:date;
dateTo : date;;
!-------------------------------------------------------------------------------
procedure Run;
begin
runInterface(UserReport_Test);
end;

panel pnSelect
screen scrOborot;
fields
dateFrom('Дата начала периода.' ,,sci178Esc ): pickButton;
dateTo('Дата конца периода.' ,,sci178Esc ): pickButton;
buttons
cmOk,,,'Получение отчета',,sci178Esc;
cmCancel,,,'Отмена',,sci178Esc;
<<'Тест'

Дата с: .@@@@@@@@@@@@ по: .@@@@@@@@@@@@

<.Получение отчета.> <. Отмена .>
>>
end; // screen

handleEvent
cmInit :
{
dateFrom:=Cur_Date;
dateTo:=Cur_Date;
}
end; // handleevent
end; //panel
...
Не отрабатывает cmInit. Что я делаю не правильно?

Добавлено: 10 апр 2006, 10:29
Maverick
cmInit отрабатывает в обработчике главного окна, а не в панельном

Добавлено: 10 апр 2006, 10:32
Nikos
А как в панельном инициализировать переменные?

Добавлено: 10 апр 2006, 10:42
Nikos
Действительно, убрал строку panel pnSelect - все заработало. В действительности, в данный момент мне панельные окна и не нужны. Возможно, когда буду использовать уже такой проблемы не возникнет. Большое спасибо.

Добавлено: 10 апр 2006, 13:12
Maverick
Невизуальный компонетн Panel - устаревшая конструкция. Она нужна была в свое время для того чобы визуальные объекты Screen, Browse привязывать к корневой таблице. Сейчас у этих объектов у самих можно прописать корневую таблицу как :

Screen MyScreen table MtTable;

И соответственно табличные события ловить с помощью обработчика событий
TableEvent table MyTable

End;

Но еще хочу раз повториться: событие cmInit (в прочем как и cmDone, cmClose, cmCancel, cmOnVipLoad) относятся к событиям гланого окна а не к событиям панели, а посему обрабатываются только в обработчике самого интерфейса или в в обработчике окна, вызванноого по RunWindow (RunWindowModal)

Добавлено: 10 апр 2006, 13:16
Nikos
Спасибо. Вроде получается.

Добавлено: 10 апр 2006, 17:31
Maverick
Не за что.