use*_*348 7 regex delphi delphi-10.1-berlin
我TRegEx在Delphi 10.1.2中看到了几个Delphi的使用示例,如下所示:
try
RegexObj := TRegEx.Create(REGEX_EXTRACTEMAILADDRESSES, [roIgnoreCase]);
MatchResults := RegexObj.Match(ThisPageText);
while MatchResults.Success do
begin
slEmailAddressesOnThisPage.Add(MatchResults.Value);
MatchResults := MatchResults.NextMatch();
end;
except
on E: ERegularExpressionError do
begin
// Todo: Log Syntax error in the regular expression
end;
end;
Run Code Online (Sandbox Code Playgroud)
所以我想知道TRegEx在这样的例子中创建后是否必须显式释放对象?
只有派生自的类对象TObject必须在创建后从内存中显式释放. TRegEx是record不是,所以当它超出范围,它被释放. TRegEx.Create是一个构造函数,但不是在堆上创建一个新对象,只是在调用堆栈上,因此没有任何东西可以手动释放(没有为它定义析构函数).
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |