|
又个需求,是加载列表,很自然的想到 emwin motion 支持,开始的时候很好,列表可以滑来滑去,然后各种OK,但是当列表很多很多的时候,测试反映,直接就死机了
我就纳闷了,这没啥东西,全是 emwin的控件啊,然后我自己造了一个250条目的列表,果然,立马就挂,最后我查了半天,堆栈也够,没道理啊,最后看手册,没发现错误的啊,最后
我在模拟器上,就写这么两句话
WM_MOTION_Enable (1);
BUTTON_SetReactOnLevel ();
WM_HWIN hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
WM_CreateWindowAsChild (0,0,320,32700,hWin,WM_CF_SHOW | WM_CF_MOTION_Y,_cbMotion,0);
诶,立马OK了,没道理啊,我又把 32700,改成32768 ,还是不行,再减小一点,减小到32760 ,ok了,难道我看手册没看清楚,可是!!!!!
手册上写的明明是
WM_HWIN WM_CreateWindowAsChild(int x0, int y0,
int width, int height,
WM_HWIN hWinParent, U8 Style,
WM_CALLBACK * cb,
int NumExtraBytes);
这不坑爹么,明明就是 int 啊,那个 height 就是 int 大小啊,艹,你大爷的,我艹,又被emwin 坑惨了,short的实参,最后你弄个 int 糊弄我,shit !!!!
德国人就是这么严谨的么??????? |
|