Страница: 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
       
    
       
  
пасиба