Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача параметра в Thread [Win2k]


BillyJeans ©   (2007-06-21 12:30:00) 

как присвоить значение параметру функции ThreadFunc, если запускаю нить следующим образом:
CreateThread(nil, 0, @ThreadFunc, nil, 0, dwThreadId); ?
Либо как передать параметр в thread?


Однокамушкин   (2007-06-21 15:21:00) [1]

CreateThread в приложениях Delphi лучше не использовать, использовать надо BeginThread, потому что BeginThread, в отличие от CreateThread, делает следующие полезные вещи:

1) Переводит менеджер памяти в потокобезопасный режим
2) Создаёт ExceptionFrame, без которого исключение в потокое рушит всю программу
3) Инициализирует FPU


clickmaker   (2007-06-21 12:37:00) [2]

function CreateThread(lpThreadAttributes: Pointer;
 dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine;
  lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle; stdcall;


Сергей М.   (2007-06-21 12:36:00) [3]


> как передать параметр в thread?


прямо так и передать:

CreateThread(nil, 0, @ThreadFunc, параметр, 0, dwThreadId);


Наверх

Титульная страница Поиск, карта сайта Написать письмо