Дело в том, что обрабатывать нечего:) она не нажимается совсем... т.е. не происходит даже визуального вдавливания кнопки. Вот в аналогичном списке договоров этот же самый код работает...
Рабочий код:
Код: Выделить всё
#component "L_DOGOVOR"
alter interface dogovor;
const
cmMyTestButton = 9987;
end;
handleevent
cmInit: {
inherited::handleevent(cmInit);
if (cfsSetCurrentContainer('L_DOGOVOR::DOGOVOR') <> cfOk) { //cfsGetCurrentContainerSelf
Message(''#3'Ошибка установки корневого контейнера', Error);
Exit;
}
var l: longint;
if ( cfsCreateObject('Button', 'SCDOGOVORSELECTMAIN', 'cmMyTestButton', False, l) = cfErrCreateObjectError) {
Message(''#3'Ошибка создания объекта', Error);
Exit;
}
cfsSetProp(l, cfpOrigin_X, 5);
cfsSetProp(l, cfpOrigin_Y, 110);
cfsSetProp(l, cfpSize_X, 140);
cfsSetProp(l, cfpSize_Y, 25);
cfsSetProp(l, cfpTitle, 'TestButton');
cfsSetProp(l, 'Command', cmMyTestButton);
}
cmMyTestButton: {
message('gotcha!');
}
end;
end.
Не рабочий код:
Код: Выделить всё
#component "L_MCU"
const
cmMyTestButton = 9987;
end;
alter interface katmc;
handleevent
cmInit: {
inherited::handleevent(cmInit);
if (cfsSetCurrentContainer('L_MCU::KATMC') <> cfOk)
{ //cfsGetCurrentContainerSelf
Message(''#3'Ошибка установки корневого контейнера', Error);
Exit;
}
var l: longint;
if ( cfsCreateObject('Button', 'SCLONGNAME', 'cmMyTestButton', False, l) = cfErrCreateObjectError) {
Message(''#3'Ошибка создания объекта', Error);
Exit;
}
cfsSetProp(l, cfpOrigin_X, 50);
cfsSetProp(l, cfpOrigin_Y, 125);
cfsSetProp(l, cfpSize_X, 140);
cfsSetProp(l, cfpSize_Y, 25);
cfsSetProp(l, cfpTitle, 'TestButton');
cfsSetProp(l, 'Command', cmMyTestButton);
}
cmMyTestButton: {
message('gotcha!');
}
end;
end.
Различий я в них не вижу:) Но один работает, а второй - нет.
К тому же окна там нету, скрин 'SCLONGNAME' описан прямо в фейсе katmc... у меня была мысль, что при таком описании подразумевается, что окно равняется имени интерфейса, основываясь на данном предположении я пробовал сделать так:
Код: Выделить всё
alter interface katmc;
window katmc;
.....
end;
end.
Тогда кнопки нет совсем. Через конфигуратор я вижу, что в фейсе создалось окно 'KATMC#1', которое ничего не содержит и на экране не отображается.
P.S. Заранее спасибо за помощь, ковырялся с этим целый день... уже мозг кипит )