Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
11-1059375741
IronWit
2003-07-28 11:02
2004.04.04
хочу написать компонент для сохранения позиций окна...


7-1074495064
Serge
2004-01-19 09:51
2004.04.04
win.ini


3-1078070701
Desdechado
2004-02-29 19:05
2004.04.04
обработка BLOB-поля при сохранении изменений в ClientDataSet


3-1078282640
ИМХО
2004-03-03 05:57
2004.04.04
Чтение dbf файлов посредством ADO


8-1070016216
X-Disa
2003-11-28 13:43
2004.04.04
Jpeg




   Наверх