Страница: 1 |
Страница: 1 |
Вопрос: Опять CallBack
Добавлено: 12.03.06 19:46
Автор вопроса: Tamplier | ICQ: 298742928
Теперь новая проблема:
Он просто не вызывается!
Пробовал тотже КоллБэк всунуть в SHBrowseForFolder - съел и не подавился, а тут...
Ему что, коллБэк особенный что ли нужен?
Sub CallMsg()
Dim lpIDList As Long
Dim udtBI As BrowseInfo
With udtBI
.hWndOwner = Form1.hwnd
.lpfnCallback = GetAddressOfFunction(AddressOf MsgCallBack)
End With
SHBrowseForFolder udtBI
Dim MBP As MSGBOXPARAMS
With MBP
.cbSize = Len(MBP)
.hWndOwner = Form1.hwnd
.lpszText = "text"
.lpszCaption = "other text"
.dwStyle = MB_ICONINFORMATION
.lpfnMsgBoxCallback = GetAddressOfFunction(AddressOf MsgCallBack)
End With
MessageBoxIndirect MBP
End Sub
Public Function GetAddressOfFunction(add As Long) As Long
GetAddressOfFunction = add
End Function
Public Function MsgCallBack(ByVal hwnd As Long, ByVal uMsg As Long, ByVal lp As Long, ByVal pData As Long) As Long
On Error Resume Next
Debug.Print "CallBack Successed " & hwnd & Chr(32) & uMsg
MsgCallBack = 0
End Function
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #1
Добавлено: 12.03.06 20:32
Debug.Print убери. Это изза него. VB виснет, я правильно понял?
Номер ответа: 2
Автор ответа:
Tamplier
ICQ: 298742928
Вопросов: 58
Ответов: 340
Профиль | | #2
Добавлено: 12.03.06 20:53
нет, управление просто не переходит Даже вызова ее нет
Номер ответа: 3
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #3
Добавлено: 12.03.06 21:36
Охх
Номер ответа: 4
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #4
Добавлено: 13.03.06 11:17
lpfnMsgBoxCallback
Pointer to the callback function that processes help events for the message box. The callback function has the following form:
VOID CALLBACK MsgBoxCallback(LPHELPINFO lpHelpInfo);
Public Function MsgCallBack(ByVal hwnd As Long, ByVal uMsg As Long, ByVal lp As Long, ByVal pData As Long) As Long
Разница как бы чувтствуется?
.
ЗЫ На будущее приводи и декларации типов - там тоже народ часто косячит.
Номер ответа: 5
Автор ответа:
Tamplier
ICQ: 298742928
Вопросов: 58
Ответов: 340
Профиль | | #5
Добавлено: 13.03.06 16:35
Блин, мне его хендл нужен!! И процедуру, в которой я могу его изменить...
А писать свой - времени мало...
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 13.03.06 17:00
Копай структуру HELPINFO. А левые callback'и подсовывать без толку - кроме гемора ничего не получишь Радуйся что GPF не получил.
Номер ответа: 7
Автор ответа:
Tamplier
ICQ: 298742928
Вопросов: 58
Ответов: 340
Профиль | | #7
Добавлено: 13.03.06 19:54
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 14.03.06 11:03
general protection fault
Номер ответа: 9
Автор ответа:
Tamplier
ICQ: 298742928
Вопросов: 58
Ответов: 340
Профиль | | #9
Добавлено: 14.03.06 15:05
пасиба