C chenxu Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-18 #1 现有两个form:form1、form2;form1上有一panel,将form2一直dock在form1的panel上,此时如果form1的标题栏上要显示form2中某控件的的相关信息(比如显示form2中的treeview节点的名称),如果不相互引用应该如何做呢?采用事件、消息?
现有两个form:form1、form2;form1上有一panel,将form2一直dock在form1的panel上,此时如果form1的标题栏上要显示form2中某控件的的相关信息(比如显示form2中的treeview节点的名称),如果不相互引用应该如何做呢?采用事件、消息?
X xuxiaohan Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-18 #2 相互引用最简单,在interface 和 implementation 互相引用,没有必要想的太复杂
L linuxer Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-19 #6 相互引用是允许的,只要在接口部分的uses子句不出现相互引用就行。解决相互引用的一种模式就是,每个循环引用必须至少有一个uses子句出现在实现部分。例如: 错误示例: unit Unit1; interface uses Unit2; ... unit Unit2; interface uses Unit1; ... // 以上两个单元在接口部分相互引用,将产生编译错误 正确示例: unit Unit1; interface uses Unit2; ... unit Unit2; interface ... implementation uses Unit1; ... // 这样一个在接口部分引用,一个在实现部分引用,编译就不会出现错误了。
相互引用是允许的,只要在接口部分的uses子句不出现相互引用就行。解决相互引用的一种模式就是,每个循环引用必须至少有一个uses子句出现在实现部分。例如: 错误示例: unit Unit1; interface uses Unit2; ... unit Unit2; interface uses Unit1; ... // 以上两个单元在接口部分相互引用,将产生编译错误 正确示例: unit Unit1; interface uses Unit2; ... unit Unit2; interface ... implementation uses Unit1; ... // 这样一个在接口部分引用,一个在实现部分引用,编译就不会出现错误了。
C calman Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-20 #10 我个人喜欢用消息,一个Unit接受自定义的消息,另一个发送该消息,很方便。 在发送消息的模块创建时,把接收消息的模块句柄传递给他,然后就向此句柄直接Dispatch就行了
C chenxu Unregistered / Unconfirmed GUEST, unregistred user! 2004-03-22 #11 个人比较同意calman的意见,不过有没有例子呢?