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

Вниз

Вопрос про BeginThread.   Найти похожие ветки 

 
DVM ©   (2006-11-10 15:29) [0]

function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord;
 ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord;
 var ThreadId: LongWord): Integer;
var
 P: PThreadRec;
begin
 New(P);
 P.Func := ThreadFunc;
 P.Parameter := Parameter;
 IsMultiThread := TRUE;
 Result := CreateThread(SecurityAttributes, StackSize, @ThreadWrapper, P,
   CreationFlags, ThreadID);
end;


Внутри данной функции, взятой из VCL выделяется память под некий указатель, который потом передается в функцию потока.
А где же освобождение памяти?


 
Сергей М. ©   (2006-11-10 15:32) [1]

В теле ThreadWrapper


 
Anatoly Podgoretsky ©   (2006-11-10 15:33) [2]

> DVM  (10.11.2006 15:29:00)  [0]

Оно должно быть там где уничтожение потока.


 
DVM ©   (2006-11-10 15:35) [3]

А зачем вообще борланд сделала такую обертку под CreateThread() я что то никак не пойму?
Ну IsMultiThread := TRUE; выставляется, а еще смысл какой?


 
Сергей М. ©   (2006-11-10 15:39) [4]


> зачем вообще борланд сделала такую обертку под CreateThread()
> я что то никак не пойму?
> Ну IsMultiThread := TRUE; выставляется, а еще смысл какой?
>


Смотрим в книгу - видим фигу ?)

Все ж видно в исходниках ...


 
DVM ©   (2006-11-10 15:41) [5]


> Смотрим в книгу - видим фигу ?)

Да я уже посмотрел. Спасибо. Я в ASM не силен, потому смысл ThreadWrapper для меня загадка.


 
tesseract ©   (2006-11-10 17:22) [6]


> DVM ©   (10.11.06 15:41) [5]


Это указатель  на функцию  потока. Код который он выполнит.



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

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

Наверх




Память: 0.48 MB
Время: 0.088 c
2-1165417344
Lubacha
2006-12-06 18:02
2006.12.24
я сделала программу на делфи. почему после того как из нее выход


2-1165501263
kivadim
2006-12-07 17:21
2006.12.24
как сделать события типа: OnChildFormCreate и OnChildFormDestroy?


2-1164976291
daser
2006-12-01 15:31
2006.12.24
Как можно "пройтись" в цикле по все цветам (TColor)?


2-1165083215
Mozgan
2006-12-02 21:13
2006.12.24
Как узнать имя?


11-1130485465
nester
2005-10-28 11:44
2006.12.24
Как в EditBox заменить символ для ввода пароля?