Не работает cmInit

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Не работает cmInit

Сообщение 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. Что я делаю не правильно?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

cmInit отрабатывает в обработчике главного окна, а не в панельном
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

А как в панельном инициализировать переменные?
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

Действительно, убрал строку panel pnSelect - все заработало. В действительности, в данный момент мне панельные окна и не нужны. Возможно, когда буду использовать уже такой проблемы не возникнет. Большое спасибо.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

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

Screen MyScreen table MtTable;

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

End;

Но еще хочу раз повториться: событие cmInit (в прочем как и cmDone, cmClose, cmCancel, cmOnVipLoad) относятся к событиям гланого окна а не к событиям панели, а посему обрабатываются только в обработчике самого интерфейса или в в обработчике окна, вызванноого по RunWindow (RunWindowModal)
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

Спасибо. Вроде получается.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

Не за что.
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Ответить