![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение хэндла потока [D7, XP]
Andjey © (2009-12-02 15:02:00)Выполняя тестовый пример с потоками каждый раз получаю предупреждение в этой строке:
fMonDirMain.Tag := Integer(TMonDirThread.Create('d:\Temp'));
предупреждение:
[Warning] ufMain.pas(61): Unsafe typecast of 'TMonDirThread' to 'Integer'
Я конечно знаю, что этого можно избежать, отключив в опциях проекта Compiler Messages - Unsafe typecast. Но это я визуальное предупреждение отключу. А мне интересно понять почему оно появляется, если при создании потока он выдает дескриптор, назначенный ОС типа Integer, вроде все правильно. В момент приведения, что-ли?
Anatoly Podgoretsky (2009-12-02 16:42:00) [1]
> Т.е. их(там их всего 3, на эту тему) безболезненно можно
> отключить и не заморачиваться?
Только приведение не ограничивается этим типом.
Andjey (2009-12-02 16:34:00) [2]Все понятно, спасибо.
Игорь Шевченко (2009-12-02 16:10:00) [3]Andjey (02.12.09 15:45) [7]
Каждый для себя сам решает
Andjey (2009-12-02 15:45:00) [4]
> Игорь Шевченко © (02.12.09 15:41) [6]
Т.е. их(там их всего 3, на эту тему) безболезненно можно отключить и не заморачиваться?
Игорь Шевченко (2009-12-02 15:41:00) [5]такое преобразование несовместимо с .Net, поэтому и выдается предупреждение. В D2006, например, эти предупреждения по умолчанию отключены, а в 7 они только появились, ну и ура, давайте считать, что все переходят на .Net и выдавать их.
Andjey (2009-12-02 15:33:00) [6]
> Anatoly Podgoretsky © (02.12.09 15:11) [2]
> А указатель имеет диапахон от 0 до $FFFFFFFF, что много
> больше Integer и кроме того беззнаковое.
А что вы этим хотели сказать? Что данное приведение к Integer может не захватить тиапазан , который ему доступен? Поэтому просто предупреждение?
Andjey (2009-12-02 15:16:00) [7]
> Rouse_ © (02.12.09 15:07) [1]
> Этим кодом ты получаешь не описатель потока а указатель
> на экземпляр класса TMonDirThread
Я и имел ввиду указатель, извените...
kyn66 (2009-12-02 15:14:00) [8]Да, но любой указатель мы всегда можем привести(что здесь и делаем) к типу Integer...
Anatoly Podgoretsky (2009-12-02 15:11:00) [9]А указатель имеет диапахон от 0 до $FFFFFFFF, что много больше Integer и кроме того беззнаковое.
Rouse_ (2009-12-02 15:07:00) [10]Этим кодом ты получаешь не описатель потока а указатель на экземпляр класса TMonDirThread