+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 1 su 1

Discussione: [Access] ENUMERARE EVENTI esposti dalle Classi Oggetto di Access

  1. #1
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,293

    [Access] ENUMERARE EVENTI esposti dalle Classi Oggetto di Access

    Pubblico questo codice non usuale che consente di individuare gli EVENTI che le Classi Oggetto native di Access espongono.
    Si appoggia ad un Oggetto Nascosto che si trova solo visualizzando gli Elementi Nascosti dal visializzatore Oggetti di VBE.

    Purtroppo, come tutti gli Oggetti Hidden, non c'è una documentazione chiarissima, quindi ho realizzato questo codice di esempio.
    Normalmente gli sviluppatori di applicativi non hanno la necessità di sfruttare queste opzioni, ma chi sviluppa ADDIN o si dedica ad approfondimenti tecnici magari lo può trovare utile.

    codice:
    Function EnumEvents(obj As Object)
          On Error GoTo Err_prop
          Dim p                            As [_AccessProperty]
    
          ' USE AN HIDDEN PROPERTY [_AccessProperty] BECAUSE EXPOSE [CATEGORY] AS PROPERTY
          ' WITCH ALLOW TO DETECT IF THE PROPERTY IS EVENT OR NOT...
          ' --------------------------------------------------------------
          ' BUG...?
          ' --------------------------------------------------------------
          ' UNFORTUNATLY ALSO
          '    [KEYPREVIEW] AND [TIMERINTERVAL]
          ' ARE DETECTED AS EVENTS...
          ' --------------------------------------------------------------
          For Each p In obj.Properties
                If p.Category = acPropCatEvent Then
                      If p.Name <>  "TimerInterval" And _
                           p.Name <>  "KeyPreview" Then
                           Debug.Print obj.Name, "Event", p.Name, p.Value
                      End If
                End If
    Next_Prop:
          Next
    
    Exit_Here:
          Set p = Nothing
          Exit Function
    Err_prop:
          Resume Next_Prop
    End Function
    Ultima modifica di @Alex; 20-05-2019 12:03 
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi