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

Вниз

Передать THandle как Cardinal   Найти похожие ветки 

 
Призрак ©   (2006-06-14 08:45) [0]

Надо в поток (сделанный через CreateThread) в качестве параметра передать THandle, а компилер говорит - Cardinal ему подавай :( как ему угодить?


 
Сергей М. ©   (2006-06-14 08:49) [1]


> как ему угодить?


Cardinal(MyHandle)


> сделанный через CreateThread


По ряду важных причин вместо CreateThread настоятельно рекомендуется использовать BeginThread.


 
Призрак ©   (2006-06-14 08:55) [2]


> Cardinal(MyHandle)

Написал. То же самое говорит! Как будто там просто MyHandle написано... :(((


> По ряду важных причин вместо CreateThread настоятельно рекомендуется
> использовать BeginThread.

Спасибо... я как раз обратил внимание на жто место в Рихтере и задумался, как эта функция называется в делфи :) просто некоторые умники при мне использовали CreateThread и метали понты, и я подумал что наверное нет никакой функции...


 
Призрак ©   (2006-06-14 09:04) [3]

блин... дошло.

Incompatible types: Cardinal and Pointer

Я думал, он имеет в виду что хочет Cardinal, а я ему даю Pointer... оказалось наоборот - он в качестве параметра хочет Pointer, а THandle - это Cardinal :))) Написал Pointer (Myhandle) - заработало. :)

и оффтоп - а посмотрел на BeginThread, понял что к Рихтеру она видимо отношения не имеет, но всё равно лучше использовать её. Спасибо...


 
Сергей М. ©   (2006-06-14 09:05) [4]

А где ты вообще увидел Cardinal в декларации этой ф-ции ?

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

Кпак видишь, тип параметра Pointer, а не Cardinal ..


> некоторые умники при мне использовали CreateThread и метали
> понты


В принципе нет ничего катастрофического в использовании именно CreateThread. Но в этом случае придется принимать самостоятельные меры по обеспечению безопасного использования менеджера памяти в мультипоточной среде исполнения, а также самому организовывать верхнеуровневую обработку потенциальных исключений.


 
Сергей М. ©   (2006-06-14 09:06) [5]


> к Рихтеру она видимо отношения не имеет


Конечно не имеет)... Как и Рихтер к Делфи)



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

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

Наверх




Память: 0.47 MB
Время: 0.097 c
15-1149675010
Шмель
2006-06-07 14:10
2006.07.02
Критерий оценки проффесионализма программиста?


2-1149832534
Dimich1978
2006-06-09 09:55
2006.07.02
Проблема checklstbox1.Items.Objects


2-1149978517
fantasy
2006-06-11 02:28
2006.07.02
SQL


2-1149879565
Userr
2006-06-09 22:59
2006.07.02
графика


1-1148481266
harddrive_tester
2006-05-24 18:34
2006.07.02
Тестирование жёсткого диска