如何在Form 之间传递参数?(100分)

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

win1998

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在Form 之间传递参数?
 
在interface中定义的变量都可以共用
 
个人以为用全局变量比较方便,也好办。
 
在一个unit里设置全局变量,然后别的unit引用就行了...
 
用全局变量太次!,最好用类!
 
1. 在一个unit的 public 中设置变量,然后在别的unit引用就行了 ,没有引用的 unit是看不见的。

2。若form是动态创建,可以定义一接口,有接口返回参数值。
 
好多方法,自己找找,
 
在主FORM中的PUBLIC中设置全局变量,则这个变量可以在整个系统中起作用。
 
1.小小不然的用全局变量
2.很大的,用文件读取!
 
在interface中定义的变量都可以共用
也可以新建一个unit 不要form 然后在新的unit中定义全局变量。

 
自定义消息传递
 
To FUDEI :
请详细的说说!分是有的!面包是有的!
 
消息?复杂!
 
定义一个自定义消息CONST WM_MYMESSAGE = WM_USER+123

你可在其它窗口中向WM_MYMESSAGE传递值,可用sendmessage,postmessage
如你想传递字串'abcdef'和整形值12345,可以
PostMessage(Handle,WM_MYMESSAGE,WPARAM(pchar('abcdef')),LPARAM(Longint(12345)));
Handle接收该消息的窗口句柄

写个消息接收处理过程
procedure Mymsgproc(var message: TMessage); message WM_MYMESSAGE
VAR
str: string;
i: integer;
begin
str:=String(message.WPARAM);
i:=message.LPARAM;
end;

要使用那个窗口不要忘了加上uses。
 
干吗呀?
在Form的Public处定义需要定义的变量
其它FORM如果在两个UNIT中就USES一把,然后用
Form1.VarName := Form2.Varname不就成了?
 
多人接受答案了。
 
后退
顶部