【发布时间】:2021-05-25 14:00:57
【问题描述】:
我有这样的代码:
ShowMessage(Memo1.Lines.GetText);
Delphi 告诉我该代码导致了泄漏:
我尝试使用以下代码修复它:
var
Message:string;
begin
Message := Memo1.Lines.GetText;
try
ShowMessage(Message);
finally
FreeAndNil(Message)
end;
它以某种方式工作,但之后程序会自动强制关闭。
有没有办法避免这种情况下的内存泄漏?
【问题讨论】:
-
不要尝试释放字符串。字符串是自动管理的。
-
@Olivier 感谢您的回答。好吧,有什么办法可以避免内存泄漏的消息吗?我很困惑。或者我应该忽略这条消息?谢谢
-
你确定泄漏是由
ShowMessage()引起的吗?不应该。 -
如果将
Memo1.Lines.GetText更改为Memo1.Lines.Text会怎样? -
@Olivier 我不太确定。如果我使用特定值而不是 Memo1.Lines.GetText 它不会显示内存泄漏消息。
标签: delphi