Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Функции в Fpc

Автор: Bokul 17.12.2006 1:14

Как в Fpc вернуть значения через функцию?


Function b(a:byte):byte;
begin
b:=a;
end;


Кричит, чтобы возле "b:=" поставил параметры, но так получается рекурсия.

Автор: volvo 17.12.2006 1:15

Function b(a:byte):byte;
begin
result :=a;
end;

?

Автор: Bokul 17.12.2006 1:16

Точно... А я вместо result ставлю return... Спасибо.

Автор: volvo 17.12.2006 1:18

В режиме совместимости с чем ты компилируешь? У меня и {$MODE GPC} и {$MODE DELPHI} и {$MODE ObjFPC} компилируют твой первый вариант... blink.gif

Автор: Bokul 17.12.2006 1:22

Не пошло. Говорит, что не нашел result. Совместимость поставлена с TP/BP.

Цитата
У меня и {$MODE GPC} и {$MODE DELPHI} и {$MODE ObjFPC} компилируют твой первый вариант...

Что такое GPC?
В ObjFPC не могу поставить, так как у меня идет работа с объектами.

Автор: volvo 17.12.2006 1:26

Странно...


Цитата
В ObjFPC не могу поставить, так как у меня идет работа с объектами.
И что? ObjFpc не запрещает работать с объектами, если ты не перемешиваешь наследование Class/Object (допустимы иерархии только одного типа объектов)

GPC - GNU Pascal Compiler


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Bokul 17.12.2006 1:27

Цитата
Странно...

Точно
Прикрепленное изображение

Автор: volvo 17.12.2006 1:37

Перезагрузи IDE...

Автор: Bokul 17.12.2006 1:42

volvo, ты гений! smile.gif
Какая разница, если я выставлю совместимость с Tp через директиву или через опции - Options\Compiler поставить галку напротив Tp/BP 7.0 compatibility?

Автор: volvo 17.12.2006 1:44

Лучше через директиву... Я говорил уже, почему - у нее более высокий приоритет, и если ты кому-нибудь передашь исходник - он не должен будет менять настройки у себя... Я всегда меняю только через {$MODE ...}