Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Помогите с потоками   Найти похожие ветки 

 
Vilux ©   (2004-03-13 18:40) [0]

Моя программа должна поулчать некоторые данные, на основе их запускать нужные dll-ки. Я решил, что эти dll надо запускать в отдельных потоках, чтобы организовать многопоточность. Теперь вопрос. Как мне это организовать?  Мне нужно создать поток и передать в него некоторые параметры. После этого дальнейшая судьба потока меня не интересует. Он должен отработать и сам себя уничтожить. Я не силен в потоках, знаю, что можно создавать потоки с классом TThread  и без класса. В моем случае, наверное, выгоднее создавать поток без класса. Помогите примерчиком. И как потом потоку убить самого себя?


 
Юрий Зотов ©   (2004-03-13 19:11) [1]

type
 TParams = record
   ...
 end;
 
 TDllLauncher = class(TThread)
 protected
   procedure Execute; override;
 public
   Params: TParams;
 end;

procedure TDllLauncher.Execute;
begin
 ... // Используем Params, запускаем DLL
end;

Старт потока:

with TDllLauncher.Create(True) do
try
 FreeOnTerminate := True;
 with Params do
 begin
   ... // Назначаем параметры
 end;
 Resume
except
 Free;
 raise
end;

А вот что такое "запустить DLL", надо ли ее выгружать и нужна ли Вам на самом деле многопоточность - это уж Вы решайте сами.


 
Vilux ©   (2004-03-13 19:20) [2]

В смысле не запустить, а подгружать Dll, но не суть важно. Спасибо, я попробую...



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1079543066
Chcnger
2004-03-17 20:04
2004.04.04
Факториал


7-1075123360
Kotka
2004-01-26 16:22
2004.04.04
В трее, но не иконка.


9-1063169556
Orc
2003-09-10 08:52
2004.04.04
Вывод текста с Direct3D


9-1063606727
z1r[0]
2003-09-15 10:18
2004.04.04
Рисование без окна


14-1078827222
alexEagle
2004-03-09 13:13
2004.04.04
Вызов из приложения HTML Help