Delphi Language Guide Delphi for Microsoft Win32 Delphi for the Microsoft. Net framework



Yüklə 0,84 Mb.
Pdf görüntüsü
səhifə137/294
tarix02.01.2022
ölçüsü0,84 Mb.
#41395
1   ...   133   134   135   136   137   138   139   140   ...   294
DelphiLanguageGuide

Constant Parameters
A constant (const) parameter is like a local constant or read-only variable. Constant parameters are similar to value
parameters, except that you can't assign a value to a constant parameter within the body of a procedure or function,
nor can you pass one as a var parameter to another routine. (But when you pass an object reference as a constant
parameter, you can still modify the object's properties.)
Using const allows the compiler to optimize code for structured - and string-type parameters. It also provides a
safeguard against unintentionally passing a parameter by reference to another routine.
Here, for example, is the header for the 
CompareStr
 function in the 
SysUtils
 unit:
function CompareStr(const S1, S2: string): Integer;
Because 
S1
 and 
S2
 are not modified in the body of CompareStr, they can be declared as constant parameters.
Out Parameters
An out parameter, like a variable parameter, is passed by reference. With an out parameter, however, the initial
value of the referenced variable is discarded by the routine it is passed to. The out parameter is for output only; that
is, it tells the function or procedure where to store output, but doesn't provide any input.
For example, consider the procedure heading
procedure GetInfo(out Info: SomeRecordType);
When you call 
GetInfo
, you must pass it a variable of type 
SomeRecordType
:
var MyRecord: SomeRecordType;
   ...
GetInfo(MyRecord);
But you're not using 
MyRecord
 to pass any data to the 
GetInfo
 procedure; 
MyRecord
 is just a container where
you want 
GetInfo
 to store the information it generates. The call to 
GetInfo
 immediately frees the memory used
by 
MyRecord
, before program control passes to the procedure.
Out parameters are frequently used with distributed-object models like COM and CORBA. In addition, you should
use out parameters when you pass an uninitialized variable to a function or procedure.

Yüklə 0,84 Mb.

Dostları ilə paylaş:
1   ...   133   134   135   136   137   138   139   140   ...   294




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin