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

Вниз

Exception & Result   Найти похожие ветки 

 
Jolik ©   (2004-10-18 15:59) [0]

такая весчь - раньше не замечал...
При выполнении такого кода:


begin
...
i := 30;
...
i := MyFunc();
...
end;

function MyFunc();
begin
 result := 0;
 raise MyException.Create();
end;



если в MyFunc возникает raise компилятор не переписывает значение result (которое устанавливается ДО raise) в переменную i в основной программе... Т. е. i как была 30, так и остается после вызова MyFunc (если есть raise конечно)...

Это нормально?

Спасибо!


 
Rem   (2004-10-18 16:12) [1]

Нормально.


 
Суслик ©   (2004-10-18 16:14) [2]

для некоторых типов это так, для некоторых нет.
для целых (integer) так и должно быть.


 
Jolik ©   (2004-10-18 16:36) [3]

а какой в этом физический смысл? а для каких типов как?


 
Суслик ©   (2004-10-18 17:17) [4]


> а какой в этом физический смысл? а для каких типов как?

зависит от того, как передается параметр.
способ передачи параметров см в штатной справке delphi.
раздел object pascal reference\program control\parameters and functions results.

Те типы, которые возвращаются как скрытый var параметр не теряют значения.



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1098106297
Pentium133
2004-10-18 17:31
2004.10.31
Сообщение WM_VSCROLL и пр...


6-1093085403
fax
2004-08-21 14:50
2004.10.31
Подключение к сайту и ввод нужных данных....


8-1091631246
serg128
2004-08-04 18:54
2004.10.31
Как сконвертировать клип из WMV формата в другой(mpeg1-mpeg4)?


14-1097305958
QuasiLamo
2004-10-09 11:12
2004.10.31
Изменение строковых констант


4-1096011371
Boris
2004-09-24 11:36
2004.10.31
Работа с портами в Delphi 6