akinp
akinp

2022-01-21 1,更新脚本接口。 脚本中有个BUG,暂时无法解决。 比如脚本中这么写,SetText("1234"),首先"1234"初始化为CDuiString,然后是脚本引擎调用opImplConv转为LPCTSTR,转完后,原先的CDuiString被释放掉了。看起来是作用域没写好。导致真正调用CControlUI::SetText时,是个空字符串。要避免这个问题,注册到脚本内的函数都不能使用LPCTSTR作为参数。。。。又要改一大片-_-!! 那么以前怎么不会出错呢。因为原先CDuiString内部有个szBuffer[64],短字符串是存在这个数组里,转换之后,SetText()接收到的LPCTSTR实际上指向的是一片野内存。 目前脚本中应该这么写,CDuiString s = "1234"; SetText(s); 不要在传递参数过程中,产生CDuiString临时对象。 3,CMsgWnd,增加配置显示日期和时间,增加接口CMsgWnd::ClearMsg()。 4, 一组Option,当改变Selected时,取消和选中的那个都会收到 DUI_MSGTYPE_SELECTCHANGED 消息。 看了更新日志后,脚本中直接这样写: bool OnClockControlEvent(CControlUI &obj, TEventUI &ev) { if(ev.Type == UIEVENT_TIMER) { datetime dt; dt.GetCurrentTime();...