И снова здравствуйте!
тут маленькая трудность получается:
в главной форме обрабаываю сообщения от потока:
procedure TForm1.WMREGCHANGE(var Msg: TMessage);
//var n:^TChangeData;
begin
if msg.LParam = 123 then
label1.Caption:=Tdirictory(msg.WParam).getpath(Pointer(msg.WParam))
else
if msg.LParam = MSG_DooBle_FindEd then
begin
with Listview2.Items.Add do
begin
caption := Tfdubl(Pointer(msg.WParam)).a.cFileName;
subitems.Add(Tdirictory(Tfdubl(pointer(msg.WParam)).dir).getpath(Tfdubl(pointer(msg.WParam)).dir));
subitems.Add(inttostr(Tfdubl(pointer(msg.WParam)).a.nFileSizeLow)+ ' bytes');
label1.Caption := subitems[0] + '\' + caption;
end;
end else
begin
//MSG_worck_complete;
ser.Terminate;
BTStopsearch.Enabled:=false;
dirlist.Free;
dirstorage.Free;
BtSaerch.Enabled:=true;
end;
ProgressBar1.StepIt;
;
end;
шлю их так:
const
WM_REGCHANGE = WM_USER + 1973;
MSG_WoRCK_CoMPLETE = 532;
MSG_DooBle_FindEd = 323;
MSG_NEW_DIR_FindEd = 123;
...
if not dirlist.add(tmprec)
then postmessage(fhndl,WM_REGCHANGE,dword(Tfdubl(dirlist.lastrez)),MSG_DooBle_FindEd);
...
sendmessage(fhndl,WM_REGCHANGE,dword(Tfdubl(dirlist.lastrez)),MSG_WoRCK_CoMPLETE);
при работе так засмпамливает главное окно, что то провисает.
пошел через поток, т.к. нужно, чтоб VLC не отвлекало приложение от скорости.
как бороть? посоветуйте?