奇怪的GetFirstChildItem函数
本帖最后由 yxp 于 2013-4-19 14:29 编辑鼓了好大的劲学习opendcl,各种奇怪的报错,让人抓狂。
GetFirstChildItem函数在第一个父目录下不能使用?这是神马缘故。
红色部分,用蓝色的替换才能通过,不是这个函数本身不行,
而是影响它的下一代的值无法传送,他自己的ID和name都返回无误。
麻烦热心人帮忙测试一下,看看是不是我的电脑有玛达。
还有一些控件的放置顺序如果不小心改变,也会报错,
用flag值跳过不加载都通不过,和setText函数有关的一个虫
;;主程序,添加一个模式窗口,存盘为 xxx.odcl
(defun c:xxx()
(dcl_Project_Load "xxx.odcl")
(dcl_Form_Show xxx_Form1)
(dcl_Project_Unload "xxx")
(princ)
)
;;添加一个textbutton按钮,增加单击事件,存盘
(defun c:xxx_Form1_TextButton1_OnClicked (/)
(setq rootid(dcl_Tree_GetRootItem xxx_Form1_TreeControl1))
(princ "\nRootID :")(princ rootid) ;;第一步:返回根ID
(setq Parid1(dcl_Tree_GetFirstChildItem xxx_Form1_TreeControl1 rootid))
; (setq Parid1(dcl_Tree_GetFirstVisibleItem xxx_Form1_TreeControl1))
(princ "\nParent ID1:")(princ Parid1) ;;第二步:返回父ID
(setq Parname1 (dcl_Tree_GetItemLabel xxx_Form1_TreeControl1 Parid1))
(princ "\nParent name1:")(princ Parname1) ;;第三步:返回父name
(setq Childid1(dcl_Tree_GetFirstChildItem xxx_Form1_TreeControl1 Parid1))
(princ "\nChild ID1:")(princ Childid1) ;;返回子ID
(setq Childname1 (dcl_Tree_GetItemLabel xxx_Form1_TreeControl1 Childid1))
(princ "\nChild name1:")(princ Childname1)
(setq Grsonid1(dcl_Tree_GetFirstChildItem xxx_Form1_TreeControl1 Childid1))
(princ "\nGrson ID1:")(princ Grsonid1) ;; 如果使用红色部分,这一步返回空值!!!
(princ)
)
;;添加一个TreeControl控件,增加OnInitialize事件,存盘
(defun c:xxx_Form1_OnInitialize (/)
(setq p (dcl_Tree_AddParent xxx_Form1_TreeControl1 "FirstParent")) ;;添加一个目录 1
(setq q (dcl_Tree_AddChild xxx_Form1_TreeControl1 p "FirstChild")) ;;添加目录 1.1
(setq r (dcl_Tree_AddChild xxx_Form1_TreeControl1 q "FirstGrson")) ;;添加1.1.1
(setq p (dcl_Tree_AddParent xxx_Form1_TreeControl1 "SecondtParent")) ;;添加 2
(dcl_Tree_AddChild xxx_Form1_TreeControl1 p "FirstChild") ;;添加 2.1
)
页:
[1]