Проблема с PanelInputLine
Добавлено: 02 июн 2010, 11:20
Набрасал такой код:
Всё хорошо, только при открытии непосредственно интерфейса вылезают ошибки:
- Нет такой функции, поля или метода: summat.
- Ошибка интерпретации имени поля: summat.
Далее интерфейс как обычно загружается.
Может быть проблема в том, что перекрывается PanelInputLine браузером? Если в этом, то тут я использовал функцию cfsGetPropList.
Но она почему-то не выводит координату по х?
Код: Выделить всё
alter interface RASHORD;
var fMy_var2,pil1:string;
katsoprnrec:comp;
summat:double;
var aList : array [1..100] of string
create view
(osum)
as select
sporder.rsrprice*sporder.kol,
sporder.*
from sporder;
create view v2 (osum2) as select sporder.rsrprice*sporder.kol from SpSopr,SpOrder
where ((1==SpSopr.PrMc
and katsoprnrec == SpSopr.cSopr
and SpSopr.Nrec == SpOrder.cSpSopr
and 1==sporder.vidorder));
handleevent
cmInit:
{ inherited :: handleEvent(cmInit);
katsoprnrec:=katsopr.nrec;
cfsSetCurrentContainer('RASHORD.EDITORDERS.BRSPORDER');
var i: integer;
for (i:=0; i<2; i++)
{summat:=0;
v2._loop spsopr
{
v2._loop sporder
{
summat:=summat+v2.osum2;
}
}
cfsCreateObject('Column','BRSPORDER','osum',FALSE, fMy_var2);
cfsSetProp('osum','Visible',TRUE);
if (i =0)
{
cfsSetProp('osum','Visible', FALSE );
}
else
{
cfsSetProp('osum' , 'Visible', TRUE ) ;
}
cfsSetProp('osum' , 'Title' , 'Стоимость' ) ;
cfsSetProp('osum' , 'PrecisionVarName' , 'digitToch2');
cfsSetProp('osum' , 'PassiveFormat' , '[|-]366`666`666`666`666.88');
SetPrecisionGroup('digitToch2',2);
cfsSetProp('osum' , 'MaxLen', 18 );
cfsSetProp('osum','Protect',true);
cfsDestroyObject('c_BRSPORDER_SUMPRICE_Стоимость');
cfsSetCurrentContainer('RASHORD.PROSCINFO');
cfsCreateObject('PanelInputLine','PROSCINFO','summat',FALSE, pil1);
cfsSetProp('summat','Origin_X',10);
cfsSetProp('summat','Origin_Y',30);
cfsSetProp('summat' , 'MaxLen', 18 );
cfsSetProp('summat' , 'Size_X',50);
cfsSetProp('summat' , 'Size_Y',10);
cfsSetProp('summat' , 'Visible', TRUE );
cfsSetProp('summat' , 'FieldName', summat);
}
message(summat);
cfsGetPropList('i_PROSCINFO_TORDSTR','Origin_X',aList);
message(aList[i]);
cfsDestroyObject('i_PROSCINFO_TORDSTR');
cfsDestroyObject('i_PROSCINFO_ATTRVALP.VSTRING');
cfsDestroyObject('i_PROSCINFO_SFLDCOUNTANDSUM');
rescanpanel(PROSCINFO);
}
end;
end.
- Нет такой функции, поля или метода: summat.
- Ошибка интерпретации имени поля: summat.
Далее интерфейс как обычно загружается.
Может быть проблема в том, что перекрывается PanelInputLine браузером? Если в этом, то тут я использовал функцию cfsGetPropList.
Но она почему-то не выводит координату по х?