gpt4 book ai didi

delphi - 在 Delphi 7 中将局部变量从一个过程发送/传递到另一个过程?

转载 作者:行者123 更新时间:2023-12-03 19:09:26 25 4
gpt4 key购买 nike

如何将一个过程中的局部变量发送/传递给delphi中的另一个过程?

procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
c: array [o..3] smallint;
begin
a:=1;
b:=2;
end;

我想将一个或多个已经有值(value)的局部变量(a,b,c)发送到另一个过程以在那里使用它们,例如:
procedure TForm1.Button2Click(Sender: TObject);
var
d:integer;
begin
d:=a*b;
end;

最佳答案

I want to send one or more local variable(a,b,c) that already has value to another procedure to use them there.



这表明对局部变量的生命周期存在误解。局部变量仅在拥有它们的函数的持续时间内具有作用域。由于您的两个事件处理程序具有不相交的生命周期,因此它们的局部变量永远不会同时存在。

所以当你说“那已经有值(value)”时,你就错了。 Button1Click 时存在的局部变量正在执行时, Button2Click 根本不存在正在执行。

您需要变量是类的成员,而不是局部变量。这样,变量的生命周期跨越了事件处理程序的单独执行。
type
TForm1 = class(TForm)
....
private
a,b:integer;
// etc.
end;
....
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=1;
b:=2;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
d:integer;
begin
d:=a*b;
end;

关于delphi - 在 Delphi 7 中将局部变量从一个过程发送/传递到另一个过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com