平时都是值传递,今天传了个对象到某一函数,但函数体完成后,这个形参生存期到了,就FREE了.我想传个地址过去.这样生存期到了但我内存地址还没有FREE.
比如
function (panel:TWinControl):boolean;
把这个形参变成传地址,如何写啊.
C++中直接传个指针或引用就可以了.DELPHI呢.
比如
function (panel:TWinControl):boolean;
把这个形参变成传地址,如何写啊.
C++中直接传个指针或引用就可以了.DELPHI呢.
你可以测试以下这两个函数
function SendM(var FValue:integer):Boolean;
begin
FValue:=123;
end;function SendN(FValue:integer):Boolean;
begin
FValue:=128;
end;调用方法:
procedure Test;
var
F:Integer;
begin
F:=1;
SendM(F);
ShowMessage(IntToStr(F)); //显示为123
SendN(F);
ShowMessage(IntToStr(F)); //显示为123
end;
a;//全局变量(注意,已经CREATE了类型也相同.)function abc(panel:TWinControl):boolean;
begin
a:=Panel;
end;//在另一个函数中使用这个全局a
却发现是不是原来的Panel了..WHY....
而在abc函数内部,不管你怎么用都存在panel引用.
a;//全局变量(注意,已经CREATE了类型也相同.)function abc(panel:TWinControl):boolean;
begin
a:=Panel;
end;//在另一个函数中使用这个全局a
却发现是不是原来的Panel了..WHY....
而在abc函数内部,不管你怎么用都存在panel引用.