当前位置:编程学习 > wap >>

BUIW 里面的一个BUG!

--------------------编程问答-------------------- ImageStaticWidget 我用的好好的呀 --------------------编程问答--------------------
引用 1 楼 wireless_com 的回复:
ImageStaticWidget 我用的好好的呀


我上面说过了,这个bug不会出现问题,只是有内存浪费!但是这确实是一个bug! --------------------编程问答-------------------- 有道理,的确如此 --------------------编程问答-------------------- 我感觉并没有错误啊,IMAGESTATICWIDGET虽然实质是propcontainer,但是它的虚拟表还是要指向AEEWIDGET.H中所有的那些基本的
widget的函数啊!
继续研究! --------------------编程问答--------------------
引用 4 楼 givenup 的回复:
我感觉并没有错误啊,IMAGESTATICWIDGET虽然实质是propcontainer,但是它的虚拟表还是要指向AEEWIDGET.H中所有的那些基本的 
widget的函数啊! 
继续研究!


Container 是一个特殊的 Widget, 它支持 IWidget 虚表函数,也支持 IContainer 虚表函数,看 ContainerBase 的定义:

struct ContainerBase
{
   AEEVTBL(IContainer) *   pvt;

   IWidget                 widget;
   AEEVTBL(IWidget)        vtWidget;

   ...
}

vtWidget 用来保存 IWidget 虚表,它是一个结构体而不是指针,即内存不需要分配;
pvt 用来保存 IContainer 虚表,它是一个指针,需要分配内存;

因此 Container 组件在创建的时候,分配虚表内存是给 pvt 分配的,而不是 vtWidget!

--------------------编程问答-------------------- 奥,继续学习……   --------------------编程问答-------------------- 我感觉楼主有道理,但是BUIW的每个Widget类都是这样分配的,汗,莫非都有错误? --------------------编程问答-------------------- 汗,仔细研究一下去,呵呵。 --------------------编程问答-------------------- lijiangyun !正解!!! --------------------编程问答-------------------- 最近也在看,还在研究中。。。 --------------------编程问答-------------------- 正在学习,多和大家讨论 --------------------编程问答-------------------- 楼主真细心! --------------------编程问答-------------------- --------------------编程问答-------------------- ...这个算是BREW的一个继承机制吧...
呵呵,要不然quereinterface的对象如何出来??

IWIDGET_QueryInterface(_pi_widget, AEEIID_CONTAINER, &pi_con),
IPROPCONTAINER_QueryInterface(_pi_con, AEEIID_WIDGET, &pi_widget),

LZ可以思考思考上面两组接口的实现,当然这只是qualcomm的一种实现方式而以. --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主是高手啊,这个问题我也发现了
补充:移动开发 ,  Brew
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,