Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.046 c
1-1079344290
Elisa
2004-03-15 12:51
2004.04.04
Копирование файла


6-1075074207
Daniel
2004-01-26 02:43
2004.04.04
Какое различать сокеты?


14-1079093706
Murad
2004-03-12 15:15
2004.04.04
"include" в XML


1-1079091186
_Guest_
2004-03-12 14:33
2004.04.04
методы объектов


6-1075204305
Gorlum
2004-01-27 14:51
2004.04.04
Почта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский