在将 Delphi Windows 服务应用程序移植到 FPC Linux 控制台应用程序后,我尝试使用 GUI 移植程序。我在我的 Windows 机器上安装了最新的 Lazarus 并转换了简单的“hello world”应用程序。一个单元有表格(Delphi 中的.dfm 文件)。Lazarus 将此表格转换为 .lfm 和 .lrs 文件。但是编译这个有问题:
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
FInfo.lrs 文件的第一行看起来像文本文件(不是 .res 文件的二进制文件):
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TfrmInfo','FORMDATA',[
'TPF0'#8'TfrmInfo'#7 ...
在设计器中,我可以看到并编辑此表单,因此我认为它已成功转换。也许 .lrs 文件有问题?它不应该是二进制的 .res 文件吗?我应该怎么做才能编译这个表格?
编辑:
我的 .pas 单元具有以下形式:
{$R *.lrs}