Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1149810877
qwerty99909
2006-06-09 03:54
2006.07.02
Как обработать щелчок по клетке StringGrid?


2-1150096295
RzCoDer
2006-06-12 11:11
2006.07.02
Ашипка при освобождении DLL


2-1150309068
Naduev Aleksei
2006-06-14 22:17
2006.07.02
Tray


15-1149514545
Loginov Dmitry
2006-06-05 17:35
2006.07.02
Использование пакетов в Delphi


6-1140291759
Jimmy
2006-02-18 22:42
2006.07.02
Игра под модем




   Наверх