Главная страница
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.036 c
8-1138024174
Grigirian
2006-01-23 16:49
2006.07.02
Drag and Drop для компонента Image


1-1148467365
RayRom
2006-05-24 14:42
2006.07.02
ReportBuilder печать отчета с пустым ДатаСетом.


1-1148326407
Beglec
2006-05-22 23:33
2006.07.02
Не правильное закрытие окон. Как исправить ?


2-1148848191
Олег_
2006-05-29 00:29
2006.07.02
Общие


2-1149766211
Roman_ln
2006-06-08 15:30
2006.07.02
Защита проги от плагиата