2010-12-21 4 views
2

사실 저는 일부 라이브러리를 자유 파스칼로 번역하는 작업을하고 있습니다. 그래서 문제는 델파이에서 예약어를 이스케이프하기 위해 앰퍼샌드 (&) 기호를 사용할 수 있지만 자유 파스칼에서는 작동하지 않는다는 것입니다. 컴파일러가이 메시지를 사용하여 불평합니다.
ForLibDx.pas(72,13) Fatal: illegal character "'&'" ($26)Free-Pascal에서 예약어를 어떻게 피합니까?

앰퍼샌드 기호가 포함 된 경우

는 사실은 내가 사전에 FPC

자유 파스칼에서 2.2.4

나사로 0.9.28.2

덕분에 내 단위를 컴파일 {$MODE DELPHI}을 사용하고 있습니다.

+0

중복 가능성 : FPC 하에서 자동화 개체에 indentifier 또는 예약어 사용 (http://stackoverflow.com/questions/4501090/using-a-indentifier-or-reserved- 자동화에서 개체 - fpc/4502679 # 4502679) –

답변

4

내가 기억하는 것으로부터 FPC 컴파일러는 예약어를 이스케이프하는 수단이 없습니다.
예약어를 이스케이프 처리하는 이스케이프 문자 인 앰퍼샌드 (&)는 Delphi 언어의 Delphi 컴파일러 전용 기능입니다.

당신은 정규화 된 이름을 사용하여이 문제를 해결 (단위를 포함하여, 및 클래스 명) 수도 롭 케네디 here을 제안한다.

NB :하지 모든 IDE 및 제 3 자 도구가 대처할 수있는 그것은, 비 생성 된 코드에 대한 델파이에서 이러한 앰퍼샌드 탈출을 방지하는 것이 좋습니다.

--jeroen

+1

개발 버전 (2.5.1)에서만 사용 가능합니다. http://bugs.freepascal.org/view.php?id=18339 Afaik & 대부분 IDispatch btw에 추가 되었습니까? COM 개체는 키워드/예약어 인 필드 이름/메서드를 가질 수 있습니다. –

+1

이 버전은 현재 버전 2.6.0으로 금화되었습니다. –

관련 문제