S sxlangzi Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-24 #1 我的主程序调用一个bpl,bpl中有两个FORM(A和B),A调用B,且B.SHOW,B调用A,也可以显示届面操做都正常,都采用动态加载包的方法,问题在B中有如下代码: v_str := A.pb_id(其中v_str是窗体B中的一个过程变量,pb_id是窗体A中的一个变量);程序报错,提示内存地址违例
我的主程序调用一个bpl,bpl中有两个FORM(A和B),A调用B,且B.SHOW,B调用A,也可以显示届面操做都正常,都采用动态加载包的方法,问题在B中有如下代码: v_str := A.pb_id(其中v_str是窗体B中的一个过程变量,pb_id是窗体A中的一个变量);程序报错,提示内存地址违例
Z zkktom Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-24 #3 在条用a中数据的时候,请问a是否create了吗?我觉得你可以加个公用单元,把变量放在公用单元中,a和b都可以访问。不至于互调啊。
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-24 #4 v_str := A.pb_id----------更改为if A=nil then showmessage('A没赋值');另外查找一下,有没有地方释放A的时候,没有把变量A设置为NIL。
D duxing Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-25 #7 加一个unit~ 然后把公共的数据放进去~~ uses 该unit就可以都调用~~
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-25 #8 意思就是把pb_id作为一个全局变量,定义在第三个单元中,界面a和界面b同时引用该单元,明白了吧?可以说,错误虽然是在这里发生,但错误的根底不在这里,应该是其它地方。
S sxlangzi Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #9 问题是,pb_id我可以定义为公用变量,但如果是这样的,当B窗体的双机之后,B关闭,A上的一EDT控件感知pb_id,这个怎样弄呀。
S sxlangzi Unregistered / Unconfirmed GUEST, unregistred user! 2009-03-26 #12 duxing BPL当引用主程序单元时候,先这种是可以做的,但当引用包中的单元时,不行,不信你可以试,