![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Integer & Dword +WINAPI [D5]
Nick-From © (2002-11-05 21:23:00)Проблема в следующем:
Есть программа рекурсивного вычисления определителя мартицы
Постановка задачи такова, что каждый шаг рекурсии рассчитывается в новом потоке программы, созданном API-функцией: CreateThread
Определитель, как известно может быть <0, >0, =0. Т.е. функция вычисления определителя должна возвращать число со знаком (Integer например).
НО! : тело потока созданного API-функцией: CreateThread должно быть оформлено в виде:
DWORD WINAPI ThreadFunction (LPVOID lpParameter);
Т.Е. возвращает всегда положительный DWORD и возникают косяки типа: 84393785763 в результате выполнения функции
Мастера, подскажите, как тут быть?
demoniada (2002-11-06 15:04:00) [1]наскоко я знаю, DWORD определен в С++ как
unsigned long
то есть, Cardinal в Пасквиле...
MBo (2002-11-06 14:57:00) [2]Аналогично
dwVar:=Dword(IntVar);
Nick-From (2002-11-06 14:54:00) [3]2 MBo
А как integer -> DWord ?
MBo (2002-11-06 06:14:00) [4]Ничего не мешает явно привести полученный DWord к Integer
i:=Integer(dwPar);
Gandalf (2002-11-05 22:09:00) [5]DWord можно с успехом обозвать Pointer, и ссылаться на любые данные любого типа и размера.