Программирование на Атлантисе (VIP, FCOM, ARD), FastReport
Модераторы: m0p3e , edward_K , Модераторы
Sheinina
Местный житель
Сообщения: 366 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Сообщение
Sheinina » 18 июл 2007, 14:18
Имеется интерфейс выбора:
Код: Выделить всё
Interface Select_Nach 'Выбор' EscClose, Cyan;
show at (,,,);
var
sel : longint;
ino : longint;
view as select * from table order o1 by table.f1;
parameters sel;
panel p1;
browse b1 (,,sci1EnIns);
fields
table.f1 'Ф1':[3],protect, {Font={bold=searchmarker(sel,table.nrec,ino)}};
table.f2 'Ф2':[30],protect, {Font={bold=searchmarker(sel,table.nrec,ino)}};
end;
HandleEvent
cmMarkUnmark: {
InvertMarker(sel,table.nrec);
if GetNext table <> tsOK then{};
message('помечено'); // отладка!!!!
ReReadRecord();
}
cmInvertAll:{
PushPos(tntable);
_Loop table {
InvertMarker(sel,table.nrec);
}
PopPos(tntable);
RescanPanel(tntable);
}
cmSelectAll: {
PushPos(tntable);
_Loop table {
InsertMarker(sel,table.nrec);
}
PopPos(tntable);
RescanPanel(tntable);
}
cmUnSelectAll: {
ClearMarker(sel)
RescanPanel(tntable);
}
end;
end;
Handleevent
cmInit : {
setorder(tiO1);
if getfirst table = tsOK then {};
}
cmDefault: {
if GetMarkerCount(sel)=0 then {
InsertMarker(sel,table.nrec);
}
summa:=0; nalog:=0;
CloseInterface(cmOK);
}
end;
end.
В подключенных в проекте файлах описано:
Код: Выделить всё
cmMarkUnMark = 2243;
cmSelectAll = 2244;
cmUnSelectAll = 2245;
cmAltInsert = 2246;
cmInvertAll = 2247;
и
В Галактике 7.12 все работало замечательно. После перекомпиляции под 8.10 пометка работать перестала (сообщение 'помечено' не появляется). Что делать???
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 18 июл 2007, 14:41
видать константы событий поменялись.
не пробовали поискать в gal810\frm\galfrm.rar\inc\mark.inc?
у где то там нужно смотреть.
k_vit
Постоянный обитатель
Сообщения: 143 Зарегистрирован: 09 авг 2006, 16:40
Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"
Сообщение
k_vit » 18 июл 2007, 14:42
Вопрос: А зачем HandleEvent дважды описан?
k_vit
Постоянный обитатель
Сообщения: 143 Зарегистрирован: 09 авг 2006, 16:40
Откуда: Россия, Тюмень, ОАО "Сибирский Научно-Аналитический Центр"
Сообщение
k_vit » 18 июл 2007, 14:51
а что есил попробовать так:
Код: Выделить всё
Interface Select_Nach 'Выбор' EscClose, Cyan;
show at (,,,);
var
sel : longint;
ino : longint;
view as select * from table order o1 by table.f1;
parameters sel;
browse b1 (,,sci1EnIns);
fields
table.f1 'Ф1':[3],protect, {Font={bold=searchmarker(sel,table.nrec,ino)}};
table.f2 'Ф2':[30],protect, {Font={bold=searchmarker(sel,table.nrec,ino)}};
end;
HandleEvent
cmInit : {
setorder(tiO1);
if getfirst table = tsOK then {};
}
cmDefault: {
if GetMarkerCount(sel)=0 then {
InsertMarker(sel,table.nrec);
}
summa:=0; nalog:=0;
CloseInterface(cmOK);
}
cmMarkUnmark: {
InvertMarker(sel,table.nrec);
if GetNext table <> tsOK then{};
message('помечено'); // отладка!!!!
ReReadRecord();
}
cmInvertAll:{
PushPos(tntable);
_Loop table {
InvertMarker(sel,table.nrec);
}
PopPos(tntable);
RescanPanel(tntable);
}
cmSelectAll: {
PushPos(tntable);
_Loop table {
InsertMarker(sel,table.nrec);
}
PopPos(tntable);
RescanPanel(tntable);
}
cmUnSelectAll: {
ClearMarker(sel)
RescanPanel(tntable);
}
end;
end.
Nikos
Местный житель
Сообщения: 577 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск
Сообщение
Nikos » 18 июл 2007, 14:58
Я это обошел следующим образом:
const
cmMyIns=1221;
cmMySelAll=1219;
cmMyClear=1220;
end;
далее:
cmMyIns: //cmMarkUnmark:
{
...
}
cmMySelAll: //cmSelectAll:
{
...
}
cmMyClear: //cmUnSelectAll:
{
...
}
Вроде работает.
Sheinina
Местный житель
Сообщения: 366 Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Сообщение
Sheinina » 18 июл 2007, 20:19
Nikos писал(а): Я это обошел следующим образом:
const
cmMyIns=1221;
cmMySelAll=1219;
cmMyClear=1220;
end;
далее:
cmMyIns: //cmMarkUnmark:
{
...
}
cmMySelAll: //cmSelectAll:
{
...
}
cmMyClear: //cmUnSelectAll:
{
...
}
Вроде работает.
Спасибо, я так и сделала. Блин, лопатить пришлось все свои vip-ы. Но работает
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 18 июл 2007, 21:55
всего то нужно подправить значения констант. Или ужо inc взять новый- благо он вместе с формами теперь идет.