2009-11-16 3 views
3

Delphi Windows 서비스 응용 프로그램을 FPC Linux 콘솔 앱에 이식 한 후 GUI로 프로그램을 포트하려고했습니다. 내 Windows 컴퓨터에 최신 Lazarus를 설치하고 간단한 "hello world"앱을 변환했습니다. 하나의 유닛에 형식 (델파이의 .dfm 파일)이 있습니다. 이 양식은 Lazarus에 의해 .lfm 및 .lrs 파일로 변환되었습니다. (파일 .RES 이진되지 않음) 텍스트 파일과 같은 FInfo.lrs 파일의Delphi 폼을 Lazarus로 변환 할 때의 문제

windres: C:/htlib/pas/FInfo.lrs:1: syntax error 
Free Pascal Compiler version 2.2.4 [2009/10/25] for i386 
Copyright (c) 1993-2008 by Florian Klaempfl 
Target OS: Win32 for i386 
Compiling lazarus_test.lpr 
... 
Compiling C:\htlib\pas\FInfo.pas 
Compiling resource C:\htlib\pas\FInfo.lrs 
d:\lazarus\fpc\2.2.4\bin\i386-win32\windres.exe: C:/htlib/pas/FInfo.lrs:1: syntax error 
C:\htlib\pas\FInfo.pas(366,1) Error: Error while linking 
C:\htlib\pas\FInfo.pas(366,1) Fatal: There were 1 errors compiling module, stopping 

첫 번째 라인 : 내가 볼 수있는 디자이너 및 편집에

{ This is an automatically generated lazarus resource file } 

LazarusResources.Add('TfrmInfo','FORMDATA',[ 
    'TPF0'#8'TfrmInfo'#7 ... 

그러나이 컴파일에 문제가 있습니다 이 양식은 성공으로 회심했다고 생각합니다. .lrs 파일에 문제가있을 수 있습니까? 그것은 .res 파일로 바이너리가 아니어야합니까? 이 양식을 컴파일하려면 어떻게해야합니까?

편집 :

{$R *.lrs} 

답변

4

어떤 길잃은 {$의 R * .RES} 또는 {$의 R * .lrs} 지시를 제거

내 일단의 .pas 단위로이 양식을 가지고있다.

2.2.x fpc/lazarus 버전은 * .res 파일을 .lrs 파일로 변환 한 다음 구조 상수로 포함합니다. * .res를 추가하면 Delphi 에서처럼 구현 지점 바로 아래에 포함 된 경우 독립적으로이 오류가 발생합니다. 적절한 * .lrs 포함 지점은 초기화 섹션에 있습니다.

2.4.x (RC1이 출력 됨) 만 {$ R * .res}에 "실제"자원 지원 기반을 갖습니다. (0.9.30)

+0

{$ R * .lrs} ({$ R * .dfm} (으)로 변경됨)이 없음 –

+0

그러나 ma 앱이 {$ R * .lrs}을 (를) 제거 할 때 컴파일되고 작동하는 것으로 보입니다. 큰! –

관련 문제