Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Сравнение UnManaged переменной c Managed Добавлено: 04.10.12 13:22  

Автор вопроса:  ---Fix--- | ICQ: 348680795 
Здравствуйте, есть код функции:

    Public Shared Function HookCallback(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
            If nCode >= 0 AndAlso (wParam = CType(WM_KEYDOWN, IntPtr) Or wParam = CType(WM_SYSKEYDOWN, IntPtr)) Then
        '...
        End If
    End Function


lParam указатель на переменную в неуправляемой памяти. Изменится ли что-нибудь, если вместо
wParam = CType(WM_SYSKEYDOWN, IntPtr)

написать
wParam = WM_SYSKEYDOWN
?
Пробовал и так и так. Внешних отличий нет. Может есть какие-то внутринние, т.к. эту функцию я скопировал с примера, и непойму зачем каждый раз при вызове производить преобразование?

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 04.10.12 17:40
Это не преобразование а приведение типов.. У тебя,скорее всего, WM_SYSKEYDOWN объявлена как int или uint, а wParam имеет тип IntPtr вот и приводят к нужному типу перед сравнением.. другое дело надо ли это в данном случае? Может проще и правильнее завести константу WM_SYSKEYDOWN_INTPTR и сравнивать с нею чтоб не делать лишних преобразований при каждом чихе если это критично

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам