Вверх ↑
Ответов: 1161
Рейтинг: 160
#1: 2014-10-09 00:47:39 ЛС | профиль | цитата
nesco, если сменить индекс удаляемой страницы с 1 на 2, то ошибка все равно появляется.
------------ Дoбавленo в 00.47:
Собственно, я нашел решение этой проблемы (правда с помощью костыля). Проблема в PagePanel, а точнее в его событии onChange. Если его переопределить, то никаких ошибок не выдает (по крайней мере у меня). Возможно у Tad'а не было этого события, и поэтому все работало нормально.
Add(MainForm,2953706,476,112)
{
}
Add(PageControl,1944760,378,112)
{
Align=5
Childrens=#4:page|
Selected="page"
AutoCreate=1
link(onPControl,15600409:doSetOnChange,[])
}
BEGIN_SDK
Add(EditPolyMulti,16645054,21,21)
{
WorkCount=#5:##add|8:##delete|
EventCount=#10:onPControl|
Point(##add)
Point(##delete)
}
Add(PagePanel,8890210,161,70)
{
Left=35
Top=105
Align=5
}
END_SDK
BEGIN_SDK
Add(EditPolyMulti,816851,21,21)
{
WorkCount=#5:##add|8:##delete|
EventCount=#10:onPControl|
Point(##add)
Point(##delete)
link(##add,12991115:doData,[(77,27)(77,153)])
}
Add(PagePanel,6635910,133,91)
{
Left=35
Top=105
Caption="Page"
Point(PHandle)
}
Add(DoData,12991115,133,147)
{
link(onEventData,816851:onPControl,[(243,153)(243,27)])
link(Data,6635910:PHandle,[])
}
END_SDK
Add(DoData,16037209,280,112)
{
Data=String(page)
link(onEventData,1944760:##add,[])
}
Add(DoData,11476660,329,119)
{
Data=Integer(1)
link(onEventData,1944760:##delete,[])
}
Add(ChildPanel,12776357,231,112)
{
link(onEvent1,16037209:doData,[])
link(onEvent2,11476660:doData,[])
}
BEGIN_SDK
Add(EditMulti,7488395,21,21)
{
EventCount=2
}
Add(Panel,165575,35,105)
{
Left=35
Top=105
Height=30
Align=2
BorderWidth=5
BevelWidth=0
}
Add(Button,15193427,126,49)
{
Left=165
Top=280
Align=1
Caption="Add"
link(onClick,7488395:onEvent1,[(240,55)(240,27)])
}
Add(Button,12312653,126,91)
{
Left=165
Top=280
Align=1
Caption="Delete"
link(onClick,7488395:onEvent2,[(240,97)(240,34)])
}
END_SDK
Add(InlineCode,15600409,427,112)
{
WorkPoints=#13:doSetOnChange|
EventPoints=#8:onChange|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses Windows, Kol, Share, Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|23: Control: PControl;|35: procedure _OnChange(Obj:PObj);|0:|9: public|23: onChange: THI_Event;|56: procedure doSetOnChange(var _Data:TData; Index:word);|7: end;|3: |14:implementation|0:|36:procedure THiAsmClass.doSetOnChange;|16:var i: integer; |5:begin|50: Control := PControl(ToInteger(_Data)).Parent;|32: if Control = nil then exit;|41: Control.OnSelChange := _OnChange; |4:end;|0:|32:procedure THiAsmClass._OnChange;|5:begin|43: _hi_OnEvent(onChange, Control.CurIndex);|4:end;|0:|4:end.|
link(onChange,2953706:doCaption,[])
}


карма: 0

0