23/05/20 11:54
dylan666
Salve a tutti,
mi trovo a modificare un progetto "ereditato" che a un certo punto nel Form1 ha questo codice (ho tolto il superfluo):
Questa funzione viene chiamata "indirettamente" da un bottone con questo codice:
EditMode è un Modulo mentre MyAPI è una classe.
EditMode chiama altre funzioni del suo Modulo tra cui una con questo codice:
Quindi alla fine del giro viene richiamata MyCall ma le MsgBox che ci sono non sono "bloccanti" per la Form1, cioè posso togliere il focus al messaggio e interagire col Form1 anche se non ho chiuso la finestra. I primi due MsgBox che ho messo generano proprio un'altra icona nella tray-bar di Windows mentre usando il "New Form" si evita questo ma comunque non rende obbligatorio chiudere il messaggio per andare avanti.
Esiste una maniera per ottenere ciò senza modificare il Modulo e la Classe?
Cioè rendere i messaggi bloccanti (tipo vbSystemModal) come se fossero chiamati direttamente dall Form1
Grazie in anticipo
mi trovo a modificare un progetto "ereditato" che a un certo punto nel Form1 ha questo codice (ho tolto il superfluo):
Shared Function MyCall(myParam1 As UInteger) As Integer Dim rtn As Integer MsgBox("Test1!", vbSystemModal) MsgBox("Test2!!", vbApplicationModal) Using form = New Form() With {.TopMost = True} MessageBox.Show(form, "Test3!!", "Titolo") End Using MyCall = rtn End Function
Questa funzione viene chiamata "indirettamente" da un bottone con questo codice:
Edit(EditMode.FILE, (AddressOf MyAPI.EditBatch))
EditMode è un Modulo mentre MyAPI è una classe.
EditMode chiama altre funzioni del suo Modulo tra cui una con questo codice:
Public Function LoadFile() As Integer Dim FileInfo As New MYAPIFILEINFO FileEditedDelegateFunc = (AddressOf Form1.MyCall) LoadFile = result End Function
Quindi alla fine del giro viene richiamata MyCall ma le MsgBox che ci sono non sono "bloccanti" per la Form1, cioè posso togliere il focus al messaggio e interagire col Form1 anche se non ho chiuso la finestra. I primi due MsgBox che ho messo generano proprio un'altra icona nella tray-bar di Windows mentre usando il "New Form" si evita questo ma comunque non rende obbligatorio chiudere il messaggio per andare avanti.
Esiste una maniera per ottenere ciò senza modificare il Modulo e la Classe?
Cioè rendere i messaggi bloccanti (tipo vbSystemModal) come se fossero chiamati direttamente dall Form1
Grazie in anticipo
Ultima modifica effettuata da dylan666 24/05/20 21:15
aaa