06/05/19 23:20
dylan666
Salve a tutti, mi trovo a "smanettare" un codice in VB.Net che secondo me è un porting maldestro di uno in C#.
Il codice è preso da un esempio basato su una libreria proprietaria ed è formato da un modulo (Module1) e un Form (Form1).
Nel modulo ad un certo punto c'è questa riga:
Per poterlo fare funzionare (dato che durante la compilazione ricevevo un errore) ho dovuto aggiungere "Shared" a MyCallBack che era una funzione solo "Public" del Public Class Form1.
Il problema è che quella funzione agiva su dei controlli del form (es. Button1.Visible = False) che adesso non funzionano più.
Ho provato con questa soluzione:
Ma per accedere ad esempio a Form1.f.Button1.Visible = False ho dovuto mettere anche Me.CheckForIllegalCrossThreadCalls = False
Esiste un'altra soluzione?
Sia chiaro che a me va bene sia togliere lo Shared alla funzione (purché l'AddressOf richiamato da modulo vada a buon fine) che mantenerlo come è ora ma riuscire a interagire con i controlli dei form.
Grazie anticipatamente a chi vorrà aiutarmi e per favore postate qualche esempio perché sono alle prime armi
Il codice è preso da un esempio basato su una libreria proprietaria ed è formato da un modulo (Module1) e un Form (Form1).
Nel modulo ad un certo punto c'è questa riga:
MyDelegateFunc = (AddressOf Form1.MyCallBack)
Per poterlo fare funzionare (dato che durante la compilazione ricevevo un errore) ho dovuto aggiungere "Shared" a MyCallBack che era una funzione solo "Public" del Public Class Form1.
Il problema è che quella funzione agiva su dei controlli del form (es. Button1.Visible = False) che adesso non funzionano più.
Ho provato con questa soluzione:
Public Class Form1 Public Shared f as Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load f = Me End Sub End Class
Ma per accedere ad esempio a Form1.f.Button1.Visible = False ho dovuto mettere anche Me.CheckForIllegalCrossThreadCalls = False
Esiste un'altra soluzione?
Sia chiaro che a me va bene sia togliere lo Shared alla funzione (purché l'AddressOf richiamato da modulo vada a buon fine) che mantenerlo come è ora ma riuscire a interagire con i controlli dei form.
Grazie anticipatamente a chi vorrà aiutarmi e per favore postate qualche esempio perché sono alle prime armi
aaa