Newsgroup: it.comp.lang.visual-basic
Titolo: Problemuccino...ino...ino

Raga, son di nuovo me !
Ho un software(ino) che si connette ad un server SQL e carica in alcune
dropdown i risultati di alcune query e fino a qui tutto ok. Il problema č
che quando lo lancio la form appare dopo che si sono popolate le dropdown,
quindi per alcune decine di secondi dopo ave lanciato l'applicativo non mi
appare niente a video. C'č un modo per visualizzare temporaneamente qualcosa
che "intrattenga" l'utente nell'attendere tutto questo tempo morto ????
Aiutatemi per favore....sono nelle Vs manuccine !!! :-))))
Saluti
Francesco

Fai la query in una form (chiamiamola Form1) che poi richiama quella 'buona'
(Form2).
Sempre in Form1_Activate fai anche il popolamento del combo di Form2.
Poi chiami Form2.show
Altrimenti metti la query e il popolamento in Form2_Activate, così avviene
dopo che alcune cose sono già sullo schermo.
Ciao
Alberto

 ha scritto nel messaggio
news:a4dngg$qtn$1...@newsreader.mailgate.org...


 effettivamente il tutto; beh, io vorrei fare una cosa del genere. Che dici
[SNIP]
Un paio di soluzioni
1) la solita, che sarebbe sempre bene usare indipendentemente da tutto: non
utilizzare una Form come oggetto di avvio del programma ma la Sub Main,
all'interno puoi semplicemente visualizzare una seconda finestra (modeless)
come splash screen, effettuare la connessione al Db portandola fuori dal
codice della form principale e quant'altro ti viene in mente prima di aprire
la schermata iniziale... molto piu' ordinato e riutilizzabile.
2) una piu' "sporca" ma con la quale risolvi tutto con un unica form:
aggiungi un PictureBox alla tua form, e dentro mettici quello che credi
(immagini, testo e altro) per dargli l'aspetto di uno splash screen. Nella
routine di caricamento fai qualcosa del genere:
Private Sub Form_Load()
Screen.Mousepointer = vbHourglass
With PictureSplash
    .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
    .Visible = True
    .ZOrder vbBringToFront
End With
Me.Show 'mostra la form ma prosegue con l'esecuzione del codice
restanteDoEvents
'[...] la procedura di caricamento iniziale
PictureSplash.Visible = False
Screen.Mousepointer = vbDefault
End Sub
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 Un paio di soluzioni


 idea ??? :-)
Ovviamente preso "di peso" e portato fuori non funziona... come dice
l'esimio Dr. Brown devi semplicemente adattarlo di conseguenza.
visto che e' periodo si saldi ti offro due ulteriori soluzioni :-)
1) semplice, semplice lasciando il codice nella form
Sub Main
'splash scren, deve essere modeless
FormSplash.Show vbModeless
'carichiamo la finestra principale senza visualizzarla,
'viene eseguito tutto il codice presente nell'evento Load
Load FormMain
'Al termine del caricamento, chiudiamo lo splash screen e
'apriamo la finestra principale
Unload FormSplash
FormMain.Show
End Sub
1) semplice, con il codice fuori dalla form
Sub Main
'splash scren, deve essere modeless
FormSplash.Show vbModeless
'carichiamo la finestra principale senza visualizzarla
Load FormMain
'a questo punto eseguiamo la procedura esterna di caricamento,
'per popolare i controlli della form principale e' sufficiente
'referenziarli con FormMain.Combo1.AddItem ...
CaricaDati
'Al termine del caricamento, chiudiamo lo splash screen e
'apriamo la finestra principale
Unload FormSplash
FormMain.Show


E' proprio poco se ti dico che sei un Grande ! :-)
Grazie per l'enorme disponibilità
Saluti
Francesco
"Luca Dormio" <lucaFaV...@tinFaVa.it> ha scritto nel messaggio
news:a4g74q$6d0$1...@fe2.cs.interbusiness.it...


LUCA ! AIUTOOOOOOOO !!!!!
Seguendo i tuoi consigli, mi succede una cosa strana:  ad un certo punto
dell'esecuzione del programma, lanciando una query, il vb mi restutuisce un
errore del tipo: oggetto o variabile oggetto non impostata per il blocco
with !
togliendo la sub main() mi ritorna tutto normale come prima. Che cavolo puņ
essere ???
Apetto ansiosissimo tue notizie :-))))
Ciao
Francesco


 essere ???
[SNIP]
Non saprei... prova a postare la tua sub main() e magari anche la riga
incriminata (se e' in un altro punto del codice).
Se hai usato semplicemente il sistema del Load-Show separato, con il codice
nel Form_Load, non dovrebbe cambiare nulla, ma non si sa mai...


Il problema non si verifica nel Form_Load, ma in un'altra subroutine che
viene eseguita da un evento click di un pulsante ! :-(((((
La riga di debug si ferma sull'apertura di un recordset settato nel
Form_Load ma aperto in una subroutine esterna....cacchio cacchio cacccccchio
!!!!!!
"Luca Dormio" <lucaFaV...@tinFaVa.it> ha scritto nel messaggio
news:a4ikfo$hm0$1...@fe2.cs.interbusiness.it...


 !!!!!!
Non so che dirti... senza vedere codice probabilmente il mago Otelma avrebbe
le stesse mie possibilita' :-)
Quando dici "settato" intendi anche "dichiarato"? se no, come prima cosa
dove e' stato dichiarato il recordset?


Il recordset è stato dichiarato nel modulo dove risiede la Sub Main() e il
settaggio (Set Rst= new ADODB.Recordset) risiede nel Form_Load()
Saluti
Francesco
"Luca Dormio" <lucaFaV...@tinFaVa.it> ha scritto nel messaggio
news:a4it9p$ot6$1...@fe1.cs.interbusiness.it...


 settaggio (Set Rst= new ADODB.Recordset) risiede nel Form_Load()
Intanto verifica che il recordset sia stato dichiarato come Public nella
sezione generale del modulo, se gia' e' cosi' gli unici motivi che mi
vengono in mente per cui potrebbe darti quel tipo di errore("oggetto o
variabile oggetto ...") nel pulsante sono:
a) da qualche parte hai un'istruzione Set Rst = Nothing
b) la variabile oggetto non istanziata e' un'altra, coinvolta nello stesso
statemente che ti da errore, per esempio l'oggetto Connection... dove e'
dichiarato questo?
c) non hai impostato la dichiarazione obbligatoria delle variabili, per cui
magari hai sbagliato il nome della variabile che quindi viene ridichiarata
al volo ma non istanziata.


Ehilà, finalmente ho risolto. Tutto stava nel mettere tra il caricamento del
form Splash e il form principale un istruzione DoEvents, ed è filato tutto
liscio.
Grazie a tutti
