句柄、内存释放问题
仿照例子做了个多线程,但运行时发现句柄一直再增加,内存也不能释放,严重时存储文件会导致out of system resources! 如何解决呢?
function MyFun(p: Pointer): Integer; stdcall;
begin
BytesToRead:=11;
SI:=SI_Read(devHandle,@bufferIn,BytesToRead,BytesSucceed);
datausb:= BufferIn[2]*10+BufferIn[3]+BufferIn[4]*0.1+BufferIn[5]*0.01+BufferIn[6]*0.001;
datausb_e:=-(BufferIn[8]+BufferIn[9]*0.1+BufferIn[10]*0.01+BufferIn[11]*0.001);
form1.Edit1.Text:=FloatTOStr(datausb);
form1.ListBox2.items.add(FloatTOStr(datausb));
form1.Edit3.Text:=FloatTOStr(datausb_e);
Result := 0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
ID: THandle;
begin
CreateThread(nil, 0, @MyFun, nil, 0, ID);
end;