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 回答