局部函式在delphi(VCL)中是一個重要的概念,一般的過程作用範圍是全局(public)或是類的內部(private或protected),而對於一個局部函式,它在另一個過程內聲明,使用,銷毀,完全和外部程式沒有關係。
使用局部函式的優點在於,對於一個局部的操作,不必再全局進行聲明,並且如果是加密,計算註冊碼等操作,局部函式可以在使用後被銷毀,而再次使用時財進行創建,有效的避免了跟蹤軟體對過程參數的跟蹤。
聲明局部函式的方法如下:
procedure A(P1,P2:Integer);
function B(P3,P4:Integer):Double;
begin
//.....
result:=P3*P4;
end;
var
X:Double;
begin
X:=B(100,200);
end;
此時,過程B為局部函式,它能夠隨著過程A的調用而建,隨著過程A的終止而銷毀。
局部函式只能在其父過程或父函式存在的情況下擁有返回值。