Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Fpc 2.0.2 ошибка New
Автор: Altair 20.05.2006 15:45
Поробовал скомпилировать модуль list из faq'a, в fpc ошибка: указывает на процедуру initlist, new(n);
Цитата
First compilation of d:\soft\program files\fpc\bin\i386-win32\list.pas list.pas(31,7) Error: Type identifier expected list.pas(31,8) Error: Illegal expression ...
в чем может быть дело ? Я точно помню, что компилировал раньше этот модуль без проблемм.
настройки компилятора пробовал разные...
Цитата
Syntax Switches [ ] Object pascal support [ ] Global C macros [ ] C-like operators [X] TP/BP 7.0 compatibility [ ] Stop after first error [ ] Delphi compatibility [ ] Allow LABEL and GOTO [ ] Allow STATIC in objects [ ] C++ styled inline
Ошибка наверняка какая-то глупая, но в чем ?
Автор: volvo 20.05.2006 15:59
Чтобы подобных ошибок не возникало (мы с Romtek-ом уже как то сталкивались с подобным поведением компилятора) желательно использовать не процедурную, а функциональную форму записи New:
p := new(PType);
P.S. 2.0.0 компилирует "на ура"
Автор: Altair 20.05.2006 16:02
Супер! Спасибо!
Автор: Romtek 23.05.2006 14:21
По-моему, просто надо указать директиву режима Турбо Паскаля: {$Mode TP} Совместимость то была гарантирована!
Автор: lapp 23.05.2006 14:55
Цитата(Romtek @ 23.05.2006 11:21)
По-моему, просто надо указать директиву режима Турбо Паскаля: {$Mode TP} Совместимость то была гарантирована!
Я несколько раз замечал странности вот какого рода. Указываю в среде (не в коде) опции на совместимость с TP и убираю совместимость с Delphi (обычно я это делаю, чтоб прошло присваивание значения имени функции). После этого обычно нужно перезагрузить код в окне, я это делаю, и все работает нормально некоторое время. Но потом вдруг опять начинает ругаться! Я проверяю опции - все Ок. Перегружаю окно (или всю среду) - и снова все работает.. Чистой воды глюк. Не встречали такое? Может, и тут что-то похожее?
Автор: Altair 23.05.2006 17:51
Цитата
По-моему, просто надо указать директиву режима Турбо Паскаля: {$Mode TP}
Это первое что я делал. В опциях ставил галку совместимость с TP, никакого эффекта не было.