Не силён в потоках, но наткнулся в коде на такое:
Код:
3: begin //от ГС
InitX:=Thread[id].InitXOR;
EnterCriticalSection(_cs);
Inc(Thread[id].pckCount);
LeaveCriticalSection(_cs);
и
Код:
4: begin //к ГС
EnterCriticalSection(_cs);
InitX:=Thread[id].InitXOR;
LeaveCriticalSection(_cs);
Inc(Thread[id].pckCount);
какой из них правильный то ?
З.Ы. Я так понимаю что EnterCriticalSection устанавливает монопольный режим при чтении или записи потока ? Возможно должно быть
Код:
EnterCriticalSection(_cs);
InitX:=Thread[id].InitXOR;
Inc(Thread[id].pckCount);
LeaveCriticalSection(_cs);
?
Added:
Код:
procedure TL2PacketHackMain.iInjectClick(Sender: TObject);
begin
if iInject.Checked then begin
isInject.Enabled := false;
LoadLibraryInject (isInject.Text)
end else begin
if Lib > 0 then begin
FreeMem(dllScr);
sendMsg('Библиотека '+ isInject.Text +' успешно выгружена');
end;
isInject.Enabled := true;
end;
end;
Lib тут разве должен проверяться ?