1

何らかの理由で、このコードは次のエラーを生成します。

「致命的: 構文エラー、"BEGIN" が予期されていましたが、"識別子 TESTQ" が見つかりました」

library test;

procedure testp;
begin

end;

procedure testq;
begin

end;

exports
  testp;
  testq;
end.

ここで見つけたコンパイルするサンプルコードを次に示します: http://www.freepascal.org/docs-html/prog/progse54.html

library subs; 

function SubStr(CString: PChar;FromPos,ToPos: Longint): PChar; cdecl; 

var 
  Length: Integer; 

begin 
  Length := StrLen(CString); 
  SubStr := CString + Length; 
  if (FromPos > 0) and (ToPos >= FromPos) then 
  begin 
    if Length >= FromPos then 
      SubStr := CString + FromPos - 1; 
    if Length > ToPos then 
    CString[ToPos] := #0; 
  end; 
end; 

exports 
  SubStr; 

end.

複数の関数、プロシージャ、または両方の組み合わせを使用すると、エクスポート セクションで同じエラーがスローされることに気付きました。これが発生する理由と、発生しないようにするにはどうすればよいですか?

4

1 に答える 1

2

代わりに、exportsリストはコンマで区切る必要があります。

exports
  testp,
  testq;

end.
于 2013-09-28T04:54:51.190 に答える