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

Вниз

Странные вещи...   Найти похожие ветки 

 
Pat ©   (2003-01-04 23:34) [0]

Вот, обнаружил такое...даже и не знаю, как назвать...
для примера используем BP 7.0 и Делфи 5.
Почти одинаковые программы
BP 7.0:
function f(f:integer):integer;
begin
f:=1
end;
begin
writeln (f(5))
end.Б


Делфи 5:
procedure TForm1.Button1Click(Sender: TObject);
function f(f:integer):integer;
begin
f:=1
end;
begin
caption:=inttostr(f(5))
end;

Собственно вопрос: Почему и как это вообще работает? Результат в BP - выводит 6912, в Делфи - 5


 
wicked ©   (2003-01-05 00:05) [1]

чего?.....

> function f( f:integer):integer;

и оно скомпилировалось?.....


 
Pat ©   (2003-01-05 00:23) [2]

Дык я сам удивился...тем не менее, что-то выводит...


 
Ihor Osov'yak ©   (2003-01-05 02:19) [3]

ну наверно посчасливилось нарватся на фишку в реализации компиляторов....
В паскале f:=1; наверно делает присвоение параметру, то есть результат остается неопределенным (вернее равен мусору в ax), в делфи - результату ... Посмотрите на уровне диссамблера ( в паскале - юзайте внешний отладчик) - и станет понятно...

... Ну неучли в борланде столь оригинального финта ушами...

... Зы - а делфи то чесно сделала между прочим один хинт и одно предупреждение на такое творение... Так что - обращайте внимание на предупреждения. На то они и предупреждения.


 
Anatoly Podgoretsky ©   (2003-01-05 11:17) [4]

Pat © (05.01.03 00:23)
тем не менее

Используй научный подход

Result := 1;



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-72165
Black Cat
2003-01-02 11:45
2003.01.23
ORA-04021 (таймаут операции блокировки)


1-72182
Артём К
2003-01-11 08:20
2003.01.23
:-) ReadOnly для ячейки StringGrida


3-72087
TTCustomDelphiMaster
2002-12-28 19:44
2003.01.23
Как обмануть DBGrid


7-72571
Grav
2002-11-06 21:48
2003.01.23
как заблокировать CD-ROM?


3-72159
Ops
2003-01-04 13:27
2003.01.23
Оптимизировать SQL запрос.