2

它似乎正在工作,但我正在挠头试图找到内存泄漏,而且我不太擅长那种事情:-(

const UNIX_START_DATE: TDateTime = 25569.0;

function UnixToDateTime(USec: Longint): TDateTime;
begin
  Result := (Usec / 86400) + UNIX_START_DATE;
end;

我实际上并没有打电话TDateTime.Create()- 但是是编译器(这意味着我必须在某个地方释放它)?或者,由于TDateTime基本上只是一个双倍,编译器是否只是将它推入堆栈以分配给调用者?

4

1 回答 1

13

没有什么可以免费的。TDateTime是一个简单的类型Double,因此它不是在堆上分配的。

于 2012-10-05T04:52:41.397 回答