小编Clo*_*web的帖子

我的德尔菲计划似乎在泄漏

好吧,所以我对Delphi很陌生(正如你从我的代码中看到的那样 - 尽量不要笑得太厉害并且伤害自己),但我已经设法制作了一个小桌面画布颜色选择器.它有效,有点,这就是我在这里的原因:D

它似乎在泄漏.它使用大约2 MB的内存开始,每秒爬升大约2 kB,直到10分钟左右达到大约10 MB.在我的双核2.7 ghz cpu上,它使用5%到20%的CPU功率,波动.在没有停止计时器的情况下运行约10分钟后,我的计算机没有响应.

您可以在下面的源代码中看到我正在释放TBitmap(或尝试,不确定它是否正在执行它,似乎没有工作).

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  GetCursorPos(MousePos);

  try
    Canvas1 := TCanvas.Create;
    Canvas1.Handle := GetDC(0);
    Pxl  := TBitmap.Create;
    Pxl.Width  := 106;
    Pxl.Height := 106;
    W := Pxl.Width;
    H := Pxl.Height;
    T := (W div 2);
    L := (H div 2);
    Zoom := 10;
    Rect1 := Rect(MousePos.X - (W div Zoom), MousePos.Y - (H div Zoom), MousePos.X + (W div Zoom), MousePos.Y + (H div Zoom));
    Rect2 := Rect(0, 0, H, W);
    Pxl.Canvas.CopyRect(Rect2, Canvas1, …
Run Code Online (Sandbox Code Playgroud)

memory delphi memory-leaks

4
推荐指数
1
解决办法
1504
查看次数

标签 统计

delphi ×1

memory ×1

memory-leaks ×1