不是这样,应该是:
TSnapThread = class(TThread)
private
{ Private declarations }
m_hcg: LongWord;
m_hWnd: LongWord;
m_DC: LongWord;
m_x,m_y,m_width,m_height:LongWord; m_nBufSize:LongWord;
m_Buf:Pchar;
protected
procedure Execute; override;
public
constructor Create(hcg:LongWord; hwnd:LongWord;
x,y,width,height:LongWord);
destructor Destroy; override;
end;destructor TSnapThread.Destroy;
begin
ReleaseDC(m_hWnd, m_DC);
FreeMem(m_Buf, m_nBufSize);
inherited Destroy;
end;然后再主程序中可以这样建立和释放,
var
m_SnapThread :TSnapThread;
begin
m_SnapThread := TSnapThread.Create(m_hcg, self.Handle, 4, 4, 100, 100);
。。
。。
m_SnapThread.Free;
end;
TSnapThread = class(TThread)
private
{ Private declarations }
m_hcg: LongWord;
m_hWnd: LongWord;
m_DC: LongWord;
m_x,m_y,m_width,m_height:LongWord; m_nBufSize:LongWord;
m_Buf:Pchar;
protected
procedure Execute; override;
public
constructor Create(hcg:LongWord; hwnd:LongWord;
x,y,width,height:LongWord);
destructor Destroy; override;
end;destructor TSnapThread.Destroy;
begin
ReleaseDC(m_hWnd, m_DC);
FreeMem(m_Buf, m_nBufSize);
inherited Destroy;
end;然后再主程序中可以这样建立和释放,
var
m_SnapThread :TSnapThread;
begin
m_SnapThread := TSnapThread.Create(m_hcg, self.Handle, 4, 4, 100, 100);
。。
。。
m_SnapThread.Free;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货