主程序中有一pagecontrol,不同功能动态创建相关frame.
某frame需要调用另一窗口form1,form1需读取frame中的信息,并在关闭前将结果返回frame.form1中书写如下语句时报错
1 edit1.text:=frame1.adoquery1.fields[0].asstring;
//编译时报错,找不到frame1 2 edit1.text:=(FindComponent('frame1') as tframe1).adoquery1.fields[0].asstring;
//编译通过,但运行中报错
某frame需要调用另一窗口form1,form1需读取frame中的信息,并在关闭前将结果返回frame.form1中书写如下语句时报错
1 edit1.text:=frame1.adoquery1.fields[0].asstring;
//编译时报错,找不到frame1 2 edit1.text:=(FindComponent('frame1') as tframe1).adoquery1.fields[0].asstring;
//编译通过,但运行中报错
解决方案 »
- 网络传输文件问题!!!!!!急急
- 哪位老大用过gprs/cdma通讯DTU?哪家的性能比较好
- 大家在用ClientDataSet的时候,碰到过这样的问题吗?
- 有人会用1stClass的fcoutlookBar的高手么????急急急急急!!!
- 急急急急!!急死我了!大哥们帮帮忙,打印不正确走纸问题!
- delphi数据库控件简单问题,100分送上!!!
- 怎样实现realplay连续播放??
- 高分求救,关于TreeView的节点问题
- 在一个窗体中如何调用另一个窗体返回的数据?最好不要用设全局变量的方法实现!
- 如何用winsocket实现文件传输功能?
- 个人认为RAD Studio将再面临两次不稳定危机。
- 这是事件吗?
所以:
edit1.text:=Fromxxx.AdoQuery1.Fields[0].Asstring;
如果当前TabSheet只有一个控件,则TFrame(form1.page1.ActivePage.Controls[0])就是要找的那个框架;
如果当前TabSheet上有一个以上,则用遍历一下,form1.page1.activepage.controlCount-1就要以定位找到。基本就是这个思路,代码也给得差不多了。试一下
form1.page1.ActivePage.Controls[0].FindComponent('ADOQUERY') AS TADOQUERY