Показать сообщение отдельно

[Delphi]. Вопрос по потокам.
  #1  
Старый 23.05.2009, 11:22
f0rward
Новичок
Регистрация: 26.10.2008
Сообщений: 15
С нами: 9231707

Репутация: 6
По умолчанию [Delphi]. Вопрос по потокам.

Хочу заменить в программе класс TThread на стандартные фунции BeginThread и EndThread. Вот так кусок кода выглядел на TThread :
Код:
...
 for i:=1 to thr do begin
    for j:=0 to source.Count -1 do begin
      a[i]:=TNewThread.Create(true);
      a[i].FreeOnTerminate:=true;
      a[i].Priority:=tpLOWEst;
      a[i].LoginTH:=copyLogin(Source.Strings[j]);
      a[i].passTH:=copyPass(Source.Strings[j]);
      a[i].Resume;
      application.ProcessMessages;
      if Application.Terminated then break;
      if stop then begin
         ...
      end;
    end;
    ...
 end;
Пробовал различными способами, никак.
Если один поток, то это будет выглядеть так :
Код:
...
type
  PInfo=TInfo
  TInfo=record
    login, pass: string;
  end;
...

function xz(info:PInfo);
begin
  try
    ...
  finally
    Dispose(Info);
end;

procedure execute;
var
   Info: PInfo;
   hThread: integer;
   Dummy: DWORD:
begin
  New(Info);
  Info.Login:='login';
  Info.Pass:='pass';
  hThread:=BeginThread(nil, 0, @xz,  Info,  0, Dummy);
  ...
end;
И всё работает отлично. Но как организовать работу в несколько потоков, незнаю.
 
Ответить с цитированием