Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

out-параметры.   Найти похожие ветки 

 
Чапаев ©   (2005-01-21 12:45) [0]

Вот что написано в хелпе: 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.

Вот что пишу я:

procedure Proc(out A:Integer);
begin
 A:=A*2;
{
вот тут на месте компилятора я бы стукнул программиста больно за использование out в правой части выражения. А компилятор не только не стукает, а даже сохраняет в A записанное ранее значение.
}
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 Actual:Integer;
begin
 Actual:=10;
 Proc(Actual);
 Label1.Caption:=IntToStr(Actual);
end;


Так чем же на практике out отличается от var?


 
Ega23 ©   (2005-01-21 12:48) [1]

Так чем же на практике out отличается от var?

Наверное, этим:
it tells the function or procedure where to store output, but doesn"t provide any input.


 
MBo ©   (2005-01-21 13:03) [2]

Строки, варианты, динам. массивы обнуляются. Интерфейсы, наверно, тоже.


 
Чапаев ©   (2005-01-21 13:51) [3]

To Ega23. Ну как же "doesn"t provide any input", если я его использую в правой части выражения?



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
4-1103456415
ship
2004-12-19 14:40
2005.02.06
ошибки приёма в com порт


4-1103195163
axx
2004-12-16 14:06
2005.02.06
SendMessage & TThread


14-1106207207
guest_Dmitry
2005-01-20 10:46
2005.02.06
Процедуры в IB


14-1105845675
Думкин
2005-01-16 06:21
2005.02.06
С Днем Рождения! 16 января


1-1106300186
Garry_c
2005-01-21 12:36
2005.02.06
Есть форма F1 на которой есть CheсkBox1и F2 на которой есть