D
DNChen
Unregistered / Unconfirmed
GUEST, unregistred user!
很奇怪的问题,我从主程序中将一个函数地址传送给了
DLL,这个函数定义如下:
procedure insertmenuafter(namechar;menu:tmenuitem);
该函数自动读取主程序中的一个popupmenu,然后遍历查找
每个菜单及其子菜单,当找到第一个.name为name的菜单,将
menu插入在找到菜单后面(不是作为子菜单,是在同一级插
入)。写好测试插入一个菜单项通过,而后一次性插入了四个
就出了问题,第四个菜单项是一个分隔条,所以没有付onclick
事件(以上测试时所有菜单都是动态创建),运行程序时,该
popupmenu中的各个等级的菜单中第一项全部失效。
我找出第四个菜单的onclick加不加有很大关系,如果加了,
则其他菜单都正常了,即使这个菜单是一个分隔条。然后
我在这个基础上再次开始添加菜单,这次添加的菜单量更
大了, 有六个菜单分三组加入,这下子有趣了,乱掉了,
有些没有付过onclick事件的菜单被付上了其他菜单的操作,
而有些菜单则失去了onclick事件。
我现在想不到任何产生这种问题的可能原因,所以请教各位,能
不能帮忙给个建议。
DLL,这个函数定义如下:
procedure insertmenuafter(namechar;menu:tmenuitem);
该函数自动读取主程序中的一个popupmenu,然后遍历查找
每个菜单及其子菜单,当找到第一个.name为name的菜单,将
menu插入在找到菜单后面(不是作为子菜单,是在同一级插
入)。写好测试插入一个菜单项通过,而后一次性插入了四个
就出了问题,第四个菜单项是一个分隔条,所以没有付onclick
事件(以上测试时所有菜单都是动态创建),运行程序时,该
popupmenu中的各个等级的菜单中第一项全部失效。
我找出第四个菜单的onclick加不加有很大关系,如果加了,
则其他菜单都正常了,即使这个菜单是一个分隔条。然后
我在这个基础上再次开始添加菜单,这次添加的菜单量更
大了, 有六个菜单分三组加入,这下子有趣了,乱掉了,
有些没有付过onclick事件的菜单被付上了其他菜单的操作,
而有些菜单则失去了onclick事件。
我现在想不到任何产生这种问题的可能原因,所以请教各位,能
不能帮忙给个建议。