【发布时间】:2015-11-28 10:27:17
【问题描述】:
我在我的 Lazarus 项目中遇到了一个问题:每次我想使用一个函数时,它都会抛出上述错误 (External: SIGSEGV)。我不知道那是什么意思,但一些调试告诉我,这是导致错误的代码:
class function TUtils.AsStringArray(const Strs:TStrings): TStringArray;
var
s:string;
i:integer;
begin
SetLength(Result, Strs.Count);
i := 1;
for s in Strs do
begin
Result[i] := s;
i := i + 1;
end;
end;
以及定义
TStringArray = array of string;
TUtils = class
public
[...]
class function AsStringArray(const Strs:TStrings): TStringArray; static;
end;
异常发生在i := i + 1; 之后。如果您能帮助我,我将不胜感激!
【问题讨论】:
标签: lazarus freepascal