Есть кусок кода, написал для теста: Code: procedure TimerProc(h: HWND; uMsg: UINT; id_event: UINT; dwTime: DWORD); stdcall; begin ShowMessage('Bad'); form1.rdp.disconnect; end; procedure TForm1.rdpLoginComplete(Sender: TObject); begin ShowMessage('Login complete!'); b:=true; KillTimer(0, 1); rdp.Disconnect; end; procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i:=1 to 20 do begin rdp.Server:='195.134.75.7'; rdp.AdvancedSettings2.Set_ClearTextPassword('1'); rdp.AdvancedSettings2.maxEventCount:=5; rdp.AdvancedSettings2.RDPPort:=3389; Rdp.UserName:='administrator'; rdp.Connect; Application.ProcessMessages; end; end; procedure TForm1.rdpConnecting(Sender: TObject); begin SetTimer(0, 1, 10000, @timerproc); end; Усли убрать цикл, то всё отлично, а с циклом вылезает "неопознанная ошибка". Брут по другому реализовать не удасться . Помогите плиз.