CISA FotoGallery

Statistiche

Tot. visite contenuti : 927964
Home Articoli tecnici API Verificare l'esistenza di una Funzione/Sub in una Form

Verificare l'esistenza di una Funzione/Sub in una Form

Private Const WLIB_WM_PROCEXISTS = 1434

Private Declare Function SendMessageStr _
        Lib "USER32" Alias "SendMessageA" _
        (ByVal hWnd As Long, ByVal wMsg As Long, _
        ByVal wParam As Long, ByVal strName As String) As Long

Public Function
CBFProcExists(frm As Form, ByVal strProcName As String) As Boolean
    
' Determina se una Funzione o Sub è già presente nel modulo
    ' di una Maschera (poichè questa richiede l'Handle, non
    ' potrà funzionare in un modulo di Classe o in un Modulo Standard.
    '
    ' In:
    ' frm:
    ' Il riferimento alla Maschera aperta.
    ' strProcName:
    ' Il nome della Function o Sub da cercare,
    ' ad esempio "Command1_Click".
    ' Out:
    ' Return Value:
    ' VERO se la strProcName è esistente,
    ' FALSO altrimenti.
    
    ' La stringa deve essere UNICODE per la chiamata API.
    
strProcName = StrConv(strProcName, vbUnicode) & vbNullString
    CBFProcExists = (SendMessageStr(frm.hWnd, _
                        WLIB_WM_PROCEXISTS, 0, strProcName) <> 0)
End Function


Alessandro