Имя функции как Goto, на него ругается компилятор.

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Имя функции как Goto, на него ругается компилятор.

Сообщение Tango » 21.01.2013 17:18:46

Столкнулся я тут с такой особенностью интерпретатора/компилятора FPC, если в каком либо объекте, у меня это объект OLE сервера, у него есть метод Goto(). И на него ругается интерпретатор, говорит что неверная метка. Вот кусок кода.

Код: Выделить всё
MsWord.Selection.GoTo(What, Which, Count, Name);


Метки в настройках отключены, как бороться с такой бякой.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Re: Имя функции как Goto, на него ругается компилятор.

Сообщение SSerge » 21.01.2013 19:28:35

В описании языка сказано, что идентификаторы не могут совпадать с зарезервированными лексемами языка, к которым относятся и наименования операторов.
Та же фигня будет с какими-либо Selection.as, Selection.to, Selection.downto или Selection.end.
Ищите другой метод вызова, где наименование метода OLE окажется за рамками языка - внутри строкового индекса и т.п.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Имя функции как Goto, на него ругается компилятор.

Сообщение Максим » 22.01.2013 03:16:05

Насколько я понимаю, в FPC 2.6 и выше должно помочь добавление амперсанда перед Goto:
Код: Выделить всё
MsWord.Selection.&GoTo(What, Which, Count, Name);
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Имя функции как Goto, на него ругается компилятор.

Сообщение Tango » 22.01.2013 13:09:15

Спасибо, помогло добавление амперсанта. А я подчерк пробовал, не помогало.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru