Newsgroup: it.comp.lang.visual-basic
Titolo: Per hal1961, riguardo notifica eventi

Ciao,
posto solo per dirti che alla fine ci sono riuscito.
Un pň grazie ai tuoi consigli, e un pň vedendo alcuni esempi del CD allegato
con il libro di Balena.
Solo che sto continuando ad usare la notifica degli eventi.
Essenzialmente faccio cosě:
1) Dalla form chiamante, creo l'oggetto dll.
2) Nel mio oggetto dll, dichiaro delle variabili withevents che non sono
altro che oggetti form,
cioč le mie maschere di inserimento (Dim withevents frmMaskLibri as
MascheraLibri)
3) in ogni maschera dichiaro un evento, cosě da poter istanziare gli oggetti
con il withevents, come ho detto sopra:
Event eRefresh(Azione As String)
4) quando chiamo il metodo fShowMask nel modulo di classe, nella select non
faccio + come prima,
ma faccio come mi hai detto tu, cioč creo un nuovo oggetto di tipo form:
.....
Case Mask.LIBRI
    Set frmMaskLibri = New MascheraLibri
    frmMaskLibri.Show vbModal
    Set frmMaskLibri = Nothing
.....
5) quando modifico il libro, genero l'evento della mia form (cioč
eRefresh(Azione As String))
6) lo intercetto nel modulo di classe:
Private Sub frmMaskLibri_eRefresh(Azione As String)
    RaiseEvent eRefresh(lngID, Azione)
End Sub
7) intercettandolo genero un altro evento che ho dichiarato nel modulo di
classe (sempre eRefresh ma con due parametri).
In questo modo funziona, anche compilando.
Ora sto vedendo di modificare il tutto, ricorrendo a callback. Solo che č
una nuova "tecnica" per me,
quindi ci devo fare un pň le ossa.
La cosa strana č che negli esempi che ho nel CD, c'č un esempio di callback,
ma la parte client del progetto
č un EXE ActiveX. Mi sapresti spiegare brevemente come mai ha scelto quel
tipo di progetto?
Grazie ancora per l'aiuto.
Saluti,
guido.

tipo di progetto?
non e' necessariamente collegato ad un progetto exe activex (anzi, nella mia
breve carriera di programmatore ho scritto solo un exe activex).
non so se fosse stata l' idea migliore, ma l' avevo utilizzato con delle dll che
internamente cercavano di implementare dei meccanismi di ereditarieta'
(che in vb non e' supportata perche', ahime', vb non e' ad oggetti).
ciao, hal

:)))
Chiedo scusa per il PO' :)))
non so perchè lo scrivo così... sarà per economia di caratteri da dgt?
Anche se poi alla fine, per fare economia faccio, la figura dell'ignorante
:)
Vedrò di starci un PO' più attento :)
Scusa, sai per caso se generare gli eventi in quel modo possa influire
in qualche maniera nell'istruzione SendKey?
No perchè di solito, per spostarmi tra i vari campi di testo,
nell'evento keypress valuto il valore di keyascii e, se è uguale a
vbkeyreturn,
eseguo le istruzioni:
        SendKeys "{TAB}"
        KeyAscii = 0
e tutto funziona alla perfezione.
Oggi, per facilitare l'immisione dei record nel db, ho fatto in modo che, se
premo invio e sto su un particolare
campo di testo, eseguo la stessa routine che eseguo per inserire il mio
record, senza premere il pulsante
"Salva" sulla mia toolbar.
In questa routine c'è il mio raiseevent... ed ho notato che, se commento la
lineea di codice che lo genera,
tutto bene, cioè mi salva il nuovo record e il cursore si riposiziona sul
campo di testo seguente.
Ma se non la commento, l'istruzione SendKeys "{TAB}" sembra non funzionare
più... inoltre non riesco
più a passare da un campo all'altro nemmeno con il TAB o shift+tab.
Non genera più nemmeno l'evento validate, poichè non perde il focus il campo
corrente.
Ho VB6 con SP5 su Win2k con SP2. Lo specifico perchè qualche post fa
qualcuno aveva parlato
di un problema con Win2k e il blocknum che si impallava (mi pare), e
consigliavano upgradare sia VB che win2k.
Ne sapete qualcosa?
Un ultima domanda :)
Non c'è un modo per gestire la proprietà CauseValidation anche per la
toolbar?
Mi sa che è l'unico oggetto che non lo gestisce, provocandomi un evento
Validate ogni volta che
premo un pulsante sulla suddetta.
Grazie ancora.
Saluti, Guido

premo un pulsante sulla suddetta.
non ho capito :(
ciao, hal