Wątki w FTP

0

Witam

Mam nastepujacy problem. Pisze sobie klienta FTP i chcialem zrobic aby laczenie, pobieranie listy plikow z katalogu i inne operacje ktore zaleza od predkosci lacza byly wykonywane w watku/ach

I tu pojawia sie problem. Utworzylem watek

type
TSciagnij = class(TThread)
procedure Polacz;
procedure KatalogZmien;
procedure Komenda(Komenda, Wartosc: string; WartoscUkryta: boolean);
private
{ Private declarations }
public
protected
procedure Execute; override;
end;

I mam w nim jak widac trzy procedurki. Nie zawsze chce aby sie one wszystkie wykonywaly wiec nastepnie utworzylem cos takiego

procedure TSciagnij.Execute;
begin
FreeOnTerminate := True;
end;

A w kodzie glownej formy cos takiego

procedure TForm1.sbtnPolaczClick(Sender: TObject);
var
Sciagnij: TSciagnij;
begin
Sciagnij := TSciagnij.Create(False);
Sciagnij.Execute;
Sciagnij.Polacz;
end;

Jednak jak sie okazuje procedura polacz albo nie wykonuje sie w watku albo ten watek jest jakis uposledzony bo nie program staje sie calkowicie nieaktywny gdy laczy sie z serwerem.

Czy jest jakis sposob zeby stworzyc jeden watek i po prostu wykonywac w nim odpowiadajace nam procedury czy musze tworzyc osobny watek do kazdej z tych procedur?

0

Nie probowalem takiej kombinacji, z trzema procedurami.
Ale ja na twoim miejscu stworzylbym dla kazdej procedury osobny watek.
i w ywolywalbym go z procedury Execute

procedure TSciagnij.Execute;
begin
FreeOnTerminate := True;
Polacz();
end;

[cya]

1 użytkowników online, w tym zalogowanych: 0, gości: 1