是在第一UNIT 的PUBLIC中定义的 public Flag:Integer; end; 在第一个窗体中Flag 的值有是对的可是传到第二个窗体值就不对了是0
在窗体间传值通常可以使用以下方法 A、通过互相引或引用公用单元(主要通过公用变量传值) B、通过函数传值 C、通过COPYDATA等消息传值 其中最见的是通过函传数值 例如 FORM1需要传一个参数(假定字符型)并且在FORM2中的EDIT1中修改后回传给FORM1 A、在FORM2中的PUBLIC的implementation之前定义方法 function test(MyMessage:String):String 或在FORM2的PUBLIC中定义方法 Class Functio test(MyMessage:String):String 方法的具体代码如下 begin with TForm2.Create(Application) try //给FORM2赋初值 Edit1.Text:=myMessage; //对传入参数进行处理 if ShowModal=mrOK then result:= Edit1.text; finally Free; end; B、在FORM1引用FORM2 C、在FORM1中某事件调用代码类似如下 var sTmp:String; begin sTmp:='hello'; ShowMessage(test(sTmp)); //如果TEST定义成为CLASS方法则使用ShowMessage(TForm2.test(sTmp)); //........
public
Flag:Integer;
end;
在第一个窗体中Flag 的值有是对的可是传到第二个窗体值就不对了是0
A、通过互相引或引用公用单元(主要通过公用变量传值)
B、通过函数传值
C、通过COPYDATA等消息传值
其中最见的是通过函传数值
例如
FORM1需要传一个参数(假定字符型)并且在FORM2中的EDIT1中修改后回传给FORM1
A、在FORM2中的PUBLIC的implementation之前定义方法
function test(MyMessage:String):String
或在FORM2的PUBLIC中定义方法
Class Functio test(MyMessage:String):String
方法的具体代码如下
begin
with TForm2.Create(Application)
try
//给FORM2赋初值
Edit1.Text:=myMessage; //对传入参数进行处理
if ShowModal=mrOK then
result:= Edit1.text;
finally
Free;
end;
B、在FORM1引用FORM2
C、在FORM1中某事件调用代码类似如下
var
sTmp:String;
begin
sTmp:='hello';
ShowMessage(test(sTmp));
//如果TEST定义成为CLASS方法则使用ShowMessage(TForm2.test(sTmp));
//........