Vi rappresento uno strano
fenomeno che ho riscontrato facendo alcune prove con l'oggetto "
Balloon".
Su un
Form ho posto una semplice
TextEdit. Poi ho scritto le seguenti righe di codice:
Public Sub TextEdit1_Enter()
Balloon.Info("Testo qualsiasi", Form)
End
Come è possibile vedere, volendo far apparire il
Balloon sul
Form, ho posto come nome del
Controllo (al quale legare il
Balloon) non la parola
FMain, né
Me; bensì proprio
Form.
Ebbene, se, lanciando il progetto e aprendosi il
Form, il puntatore del
mouse si trova casualmente all'interno della
TextEdit, si scatena ovviamente subito l'evento previsto nel codice e... compare - seppur ridimensionato - un
altro Form, avente lo stesso nome del
Form principale !
Questa cosa accade anche se faccio entrare due volte consecutivamente il puntatore del
mouse all'interno della
TextEdit.
Aggiungo un altro fenomeno
paranormale: se all'interno della routine dell'evento
_Enter() prevedo la dichiarazione ed istanziazione di un oggetto qualsiasi, con proprio genitore il
Form:
Public Sub TextEdit1_Enter()
Dim bt As Button
With bt = New Button(Form)
.Y = 300
.W = 100
.H = 50
.Caption= "Alibabà"
End With
Balloon.Info("Testo qualsiasi", Form)
End
ebbene, nel
nuovo Form vedo generato quell'oggetto !
Aggiungo che:
1) se, invece di scrivere l'evento riferito alla
TextEdit, pongo l'evento
_Enter con riferimento al
Form:
Public Sub Form_Enter()
Balloon.Info("Testo qualsiasi", Form)
End
allora basterà entrare una volta soltanto con il
mouse all'interno del
Form del programma, perché si generi - oltre al previsto
Ballon - il nuovo
Form ridimensionato.
2) se pongo questo codice:
Private bt As Button
Public Sub Form_Open()
With bt = New Button(Form)
.W = 100
.H = 100
.Caption = "Alibabà"
End With
End
Public Sub Form_Enter()
Balloon.Info("testo qualsiasi", Form)
End
lanciando il programma, il
Form del programma medesimo non presenta il
Button istanziato nella routine di apertura del
Form del progetto. Entrando, successivamente, con il mouse sul
Form del programma, viene generato - come ormai è chiaro - un secondo
Form ridimensionato, all'interno del quale è presente quel
Button !