基础有关问题连串问之:祖先定义的实例变量,赋值后,子孙类中执行代码仍是空object.什么原因啊
基础问题连串问之:祖先定义的实例变量,赋值后,子孙类中执行代码仍是空object.什么原因啊?
我定义了一个菜单m_main,并为其定义了一个datawindow类型的实例变量dw_1。
然后从m_main继承出来一个类m_ordinary,m_ordinary中的一些代码对dw_1进行操作。
然后又从m_ordinary继承一个菜单m_stock。
做一个窗口,使用菜单m_stock。在窗口的open事件中将窗口中的一个数据窗口赋值给m_stock.dw_1.
执行时会出错,错在m_ordinary中对dw_1进行操作的代码,错误内容是:引用了null object.
调试时的情况如下:
在m_ordinary出错的代码处:isnull(dw_1)为false,即dw_1不是null object.
dw_1前面的图标是"x+y=?",而不是object的图标,表示dw_1被当成了一个计算式,而不是一个object.
这是什么原因啊?
------解决方案--------------------
判断变量值是否为空用 isnull(变量) ,
判断对象是否存在用 isvalid(对象)
在菜单里定义:
datawindow dw_1 的话.
需要找个地方写:
dw_1 = create datawindow
另外,建议在菜单里用Datastore 而不要用 datawindow
------解决方案--------------------
我知道以前陶清网有好几个比较好用的菜单代码,很有用,你去找找.
------解决方案--------------------
lz给些代码出来,看了半天都不知道程序怎么运行的
------解决方案--------------------
也没看懂,帮顶!
------解决方案--------------------
没赋值之前就执行祖先代码了?LZ不把代码贴上了不好分析
------解决方案--------------------
------解决方案--------------------
最好是动态 设定对象 integer returns setDataWindow(DataWindow adw_obj)
idw_obj=adw_obj
return 1
我定义了一个菜单m_main,并为其定义了一个datawindow类型的实例变量dw_1。
然后从m_main继承出来一个类m_ordinary,m_ordinary中的一些代码对dw_1进行操作。
然后又从m_ordinary继承一个菜单m_stock。
做一个窗口,使用菜单m_stock。在窗口的open事件中将窗口中的一个数据窗口赋值给m_stock.dw_1.
执行时会出错,错在m_ordinary中对dw_1进行操作的代码,错误内容是:引用了null object.
调试时的情况如下:
在m_ordinary出错的代码处:isnull(dw_1)为false,即dw_1不是null object.
dw_1前面的图标是"x+y=?",而不是object的图标,表示dw_1被当成了一个计算式,而不是一个object.
这是什么原因啊?
------解决方案--------------------
判断变量值是否为空用 isnull(变量) ,
判断对象是否存在用 isvalid(对象)
在菜单里定义:
datawindow dw_1 的话.
需要找个地方写:
dw_1 = create datawindow
另外,建议在菜单里用Datastore 而不要用 datawindow
------解决方案--------------------
我知道以前陶清网有好几个比较好用的菜单代码,很有用,你去找找.
------解决方案--------------------
lz给些代码出来,看了半天都不知道程序怎么运行的
------解决方案--------------------
也没看懂,帮顶!
------解决方案--------------------
没赋值之前就执行祖先代码了?LZ不把代码贴上了不好分析
------解决方案--------------------
------解决方案--------------------
最好是动态 设定对象 integer returns setDataWindow(DataWindow adw_obj)
idw_obj=adw_obj
return 1