Вниз
Скачать: 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.03 c
8-1130929059
Provodnick
2005-11-02 13:57
2006.07.02
Проблема с тесселяцией многоугольника в OpenGL


2-1150209570
Марина
2006-06-13 18:39
2006.07.02
Сохраниние ячеек таблицы


1-1148463964
jeka_t
2006-05-24 13:46
2006.07.02
Как убрать возможность вызова контекстного меню TMemo?


15-1149272356
homm
2006-06-02 22:19
2006.07.02
Кто виноват? Что делать?


3-1147150289
Sphinx
2006-05-09 08:51
2006.07.02
ADOConnect := TADOConnection.Create(Application) -> EOleSysError




   Наверх