- 1、本文档共111页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程篇 -数据传递 有问题发生 事实上,sState是一个局部变量,因此当绑定给TLB_ID时,是copy了一份到全局内存。而当事件处理程序获得用户数据时,又是从全局内存中copy一份到该事件处理程序的局部变量中。于是,一份数据就有了3份copy。 指定/NO_COPY关键字,就只使用一份。 烦恼: (1)copy一事会给我们带来烦恼。因为一旦no_copy,则当前的用户数据变量就不再有效。这意味着返回用户数据的命令应该是事件处理程序的最后一行,显然这是不现实的。 (2)事实上,必须返回用户数据才会使修改有效这件事也会给我们带来烦恼,这要求我们必须时刻保持警惕!是不是精神会有点紧张?:) 编程篇 -数据传递 解决的方法 用一个指针变量可以解决这个问题! (我们不必等IDL把用户数据copy到全局内存,我们有能力自己干!) TLB: sState={ … } pState=ptr_new(sState ,/no_copy) widget_control ,TLB_id ,set_uvalue=pState EH: widget_control ,ebent.top ,get_uvalue=pState 这时,*pState 就是 sState 有了指针,我们方便多了! (1)任何修改立即生效,免去返回的烦恼。 (2)由于指针仅仅是“指针”,我们可以在sState里也设置一些必要的指针,比如数组指针,这样又可以免去结构数据不能更改数组维数的烦恼。 编程篇 -数据传递 没有免费的午餐! 指针仍然有一个小小的问题。必须在cleanup里将指针释放,否则会引起内存泄漏。 最后 没有证据证明传递 sState 和 pState 哪一个更好。 由于用户数据是值传递,这就带给我们可以在愿意的时候随便传递一个“什么”给TLB的便利。这时,使用pState未必就比使用sState更方便。你需要ptr_free() ! 再者,太多的 * 仍然带来麻烦。 编程篇 -数据传递 widget_list 和 widget_droplist 的 uvalue 通常我们在 list 里放置的是带有说明性的字符串数组,然而一旦进入事件循环我们就再也不会得到这个数组,我们只能得到这个数组的 index 值,即数组下标。 通过绑定字符串数组到 list_id 就可以在需要的时候仍然得到特定的字符串 TLB: widget_control ,list.id ,set_value = aStr widget_control ,list.id ,set_uvalue = aStr EH: index = widget_info( list_id ,/droplist_select ) OR index = widget_info( list_id ,/list_select ) widget_control ,list.id ,get_uvalue = aStr string = aStr[index] 编程篇 -操作组件 操作组件分为两个部分:获取组件属性和设置组件属性 widget_info函数用来获取组件属性,widget_control函数用来设置组件属性 result=widget_info(widget_id , …… ) general: ,/uname ,find_by_uname=string ,/valid_id ,/geometry widget_droplist: ,/droplist_select widget_list: ,/list_select widget_control ,widget_id , …… general: ,/hourglass ( no widget_id ) ,/realize ,map=0|1 ,sensitive=0|1 ,/destroy ,get_uvalue= value ,set_uvalue= value ,send_event={…} widget_base: ,cancel_button=button_id (for modal) ,/iconify widget_draw: ,draw_xsize=int ,draw_ysize=int ,get_draw_view=var
您可能关注的文档
- GSM直放站质量现网排查-八省市.ppt
- g第七章波动光学.ppt
- G题《积分式直流数字电压表》解析.ppt
- G与上海智慧城市.pptx
- HACCP审核中常见问题及分析.ppt
- HACCP计划的建立与实施.ppt
- Hibernate原理与应用.ppt
- HDL和LDL胆固醇检测方法学进展和比较.ppt
- HitHot智能应答产品通信行业解决方案.pptx
- HNND《数据结构》课件(C语言).ppt
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
最近下载
- 2024年高考语文复习:修改病句 专项练习题(含答案解析).pdf VIP
- ISO_9001_2015(英文版,高清原文).pdf
- 2024年全国职业院校技能大赛高职组(烹饪赛项)备赛试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛中职组“导游服务组”赛项考试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛高职组“导游服务组”赛项参考试题库(含答案).pdf VIP
- 2024年世界职业院校技能大赛高职组“研学旅行组”赛项参考试题库(含答案).pdf VIP
- 涡喷发动机及其油路结构.pdf VIP
- (一模)临汾市2025年高考考前适应性训练考试(一) 化学试卷(含答案).pdf
- 山西省大同市云冈区重点名校2024届中考冲刺卷数学试题含解析.doc VIP
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库及答案完整版.pdf VIP
文档评论(0)