PDA

Просмотр полной версии : [Помогите!] TMsRdpClient (ActiveX) из потока.


Mebius
17.05.2011, 17:02
unit Unit2;

interface

uses
Classes, OleCtrls, MSTSCLib_TLB, ActiveX, sysutils;

type
Thr = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;

var
rdp:TMsRdpClient6;

implementation

uses Unit1;

{ Thr }

procedure Thr.Execute;
var
i:integer;
begin
CoInitialize(nil);
rdp:=TMsRdpClient6.Create(nil);
//CoUnInitialize;
rdp.Server:='192.168.0.100';
rdp.AdvancedSettings6.RDPPort:=3389;
rdp.UserName:='admin';
rdp.AdvancedSettings6.ClearTextPassword:='12345';
rdp.OnLoginComplete:=Form1.ShowWin;
rdp.Connect;
while Terminated=false do
begin
inc(i);
end;
{ Place thread code here }
end;

end.


юнит потока.
на форме 1 батон и только запуск потока.

Не работает. почему, не понимаю. вроде все делаю верно, компилятор не ругается, ошибок в ходе работы не выпадает. но и не работает. не коннектится, и как следствие я подозреваю что компонент не создается динамически.

если указать rdp.Parent:=Form1;
то компонент виден, но с ним форма виснет, опять же без ошибок и нагрузок на проц. что делать уже не знаю.

Варианты не из потока сразу отпадают ибо обязательно надо с потока делать все.

Помогите а ;)