高分炒冷饭!(200分)

  • 主题发起人 主题发起人 WJZLGS
  • 开始时间 开始时间
W

WJZLGS

Unregistered / Unconfirmed
GUEST, unregistred user!
高分炒冷饭!
在把form2上的grid2选中的行列值传到form1上的grid2选定的行列!

我在Form1上放一个Grid1、edit1,同时定义了一个全局变量ss;
在form2上放grid2、edit2,
在form1中双击某行某列时,弹出一个form2,在form2中双击选中的行列后,
把该值赋给一个全局变量ss,然后再把ss的值赋给edit1.text、edit2.text。
但是在edit2中能正确显示出这个选定的值,而在edit2中显示却是空值。
这是为什么??


 
>>但是在edit2中能正确显示出这个选定的值,而在edit2中显示却是空值

我糊涂了...^&%%#$%@#^&*$&*((^(
 
呵呵,我也是
 
但是在edit2中能正确显示出这个选定的值,而在edit1中显示却是空值!!!!!
 
不太可能,你哪地方搞错了
 
infopower 2000
 
查一下你定义的全局变量是否正确。
在程序实现部分相互引用一下。
 
这样的传递最好使用SendMessage来做,分别重载一下
两个窗体的WndPorc函数,定义一下消息值就可以了。
通过使用longint(string变量)的方法就可以在消息
参数中传递字符串,多长都没有问题。
 
only you:

我定义的全局变量是在public下定义的,应该不会错的!如有错该在何处定义和如何定义?
在程序实现部分如何相互引用一下?
 
200分没人要,你们太富了吗?
 
变量ss是如何定义的.
你可以在type外定义ss,然后在Unit2中通过Unit1.ss来访问它
 
将ss定义在form1中.
在form2中对ss赋值: form1.ss:=....;
然后 edit2.text:=form1.ss; form1.edit1.text:=form1.ss;

如果还是edit2有edit1没有的话, 就是出鬼了. ^_^
 
iknow的方法应该没问题的,WJZLGS的程序肯定是哪个地方出问题了,
可以贴出来看看
 
Let's have a look!
 
弹出form2,你用的是什么命令?是show,还是 showmodal.
我一直不太清楚这两个有什么不同,但如果你用show就不行,用
showmodal就可以!
 
iknow:是用 Unit1.ss:=...用Form1只能访问到form1上的元件和过程,但变量不行
 
定义全局变量和在其他Form引用Form的问题。
建立Form1,Form2,以及Grid1,Grid2,Edit1,Edit2后,
首先在Form1中定义:
Public
SS:Double; //如果是字符型,SS:String;
其次,点击File,Use Unit,引用Form2
再次,在Form2中
引用Form1 // 相互调用也许是个问题,但是不如此不能传递数据
调用Form2的Grid2的On Click事件
TForm2.Grid2Click(Serder:Object);
Begin
...// 不为空,给SS 赋值
Form1.Edit1.Text:=ss; // 赋值给Form1的Edit1
Edit2.Text:=ss;
End;

 
晕!我的意见同上
分就不要了,不好意思赚:)
 
注意一下unit之间的数据交互,要做到object.
如果你的form1要和form2交换数据,一般情况下不要直接用form1.edit1.text;
最好定义form1的public function 或procedure
让form2访问。
 
form2上用
form1.edit1.text:=edit2.text;
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
853
DelphiTeacher的专栏
D
S
回复
0
查看
839
SUNSTONE的Delphi笔记
S
后退
顶部