Newsgroup: it.comp.lang.visual-basic
Titolo: Controlli al design time

Salve a tutti.
In questi giorni VB mi ha dato un baco grande come una casa.
In fase di design ho inserito su un form due controlli image,
sfruttati come pulsanti.
Per chiamare il form in questione utilizzo un banale load, show
in modalita' modale (ma si dice veramente cosi'?). Al termine
chiudo con un form2.hide, unload form2. Questa roba l'ho
sfruttata miliardi di volte ed ha sempre funzionato.
Alla prima esecuzione tutto funziona a meraviglia, mentre al
secondo richiamo della form mi restituisce un bellissimo
errore xxxxxx: l'elemento 1 della matrice non esiste.
Purtroppo quell'elemento 1 e' stato disegnato in fase di design.
Ho risolto il problema eliminando l'array ed assegnando due
nomi completamente diversi alle due immagini.
Cmq, qual'e' il problema?
Non e' che i controlli disegnati in fase di progettazione,
se al momento dell'allocazione in memoria c'e' qualche
problema, VB non manda un segnale chiaro di errore?
Nota: non uso mai On error resume next.
--
Fibia "Sakamoto" FBI
URL: 
www.geocities.com/fibiafbi
E-Mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Membro #25 delle BT Sez. Sud
Fan #1 di Maison Ikkoku
Amante di Yagami e Kozue
Socio onorario del club per la produzione degli orsi Ciro
Fondatore del club per la protezione dell'orso Coccolino
Fondatore del club per la sterminazione di Windtears ^__^
       ,-~-.
      < ^ ; ~,
       (_  _,    "Piyo"
        J~~>

Sigh, non ho ricevuto nessuna risposta.
Cmq lo riposto:

--

Acerrimo nemico di SaintJust ^__^


 > Purtroppo quell'elemento 1 e' stato disegnato in fase di design.
quindi in design hai messo 2 img con lo stesso nome e index 0 e 1.
avevo visto il post ma ero dubbioso su questo punto.
forse e' meglio se posti il codice dei due frm con *tutte* le righe che
riguardano gli img.
ciao, a.


 riguardano gli img.
Purtroppo come gia' detto ho cambiato i nomi delle due immagini
(eliminando la matrice) ed ora tutto funziona.
Cmq le due immagini avevano index 0 e 1.
Alla prima esecuzione tutto ok.
Scarico il form con form2.unload
(inserisco un debug.print forms.count e mi riporta 1)
alla seconda chiamata del form appare il tremendo messaggio.
Graficamente il pulsante e' li', ma non ha nessun nome (non sono
ubriaco) e non si puo' far riferimento, in quanto esiste soltanto
un image1 con index 0 (l'altra).
Quando provo a cliccare sul pulsante in questione, la routine
che filtra il valore di index mi riporta semplicemente:
"L'elemento 1 della matrice non esiste"
valore 1 che proviene dalla variabile index.
sempre nello stesso progetto, ognit tanto appariva un bellissimo:
"Impossibile eseguire il metodo ~ dell'oggetto ~"
con seguente blocco di Kernel32 ed obbligatorio doppio
CTRL+ALT+CANC
Tutto veramente molto bello vero?


Ma questa cos'e'? Una brutta gatta da pelare o nessuno mi
vuole aiutare?


 vuole aiutare?
a parte che mi ero perso il tuo reply,
forse la prima che hai detto.
cmq ho provato (vb5sp3):
form1: image1(0), image1(1)
form2: image1(0), image1(1), command1
---> form1
Option Explicit
Private Sub Image1_Click(Index As Integer)
    Select Case Index
        Case 0: MsgBox "pippo" '--> ok
        Case 1: Form2.Show vbModal '--> ok
    End Select
End Sub
---> form2
Option Explicit
Private Sub Command1_Click()
    Unload Me ' --> ok
End Sub
Private Sub Image1_Click(Index As Integer)
    Select Case Index
        Case 0: Unload Me ' --> ok
        Case 1: Unload Form1 ' --> ok, chiude tutto
    End Select
End Sub
il comportamento e' regolare sia nell'ide che con l'exe.
non e' che in un form hai qualche controllo strano, qualche connessione
aperta, o hai subclassato qc ?
mi spiace, oltre non vado.
ciao, a.
--
andrea....@tin.it

 aperta, o hai subclassato qc ?
Ecco lo stack chiamate
1 - Main
2 - MainForm (il form principale)
3 - InfoMediaForm (chiamato da MainForm)
4 - ShowImageForm (chiamato da InfoMediaForm)
Tutti i form sono chiamati in modale (ma si dice veramente cosi'?)
Niente subclass, niente internet, al momento dell'errore il player
MP3 (MediaPlayer) era in stop.
VB e' davvero molto bello.
P.S. Ho letto in un altro post che hai l'indirizzo di una buona
guida di programmazione Windows di 17MB. Puoi passarmi
il link?


 il link?
oddio, che post era ? in questo momento che non l'ho proprio in mente.
ciao, a.

 oddio, che post era ? in questo momento che non l'ho proprio in mente.
Era un post di Hyperion, seconda parte al subclassing.
Can u help me?


 Can u help me?
sei sicuro che ne parlassi io ?
ho provato a guardare sia i messaggi inviati, sia quelli gia' archiviati,
sia quelli di hyperion. nulla. a lui avevo parlato di una guida allo
scripting host, ma non e' 17 mb, siamo sui 250k se non sbaglio.
ho provato a cercare sull'hd tutti i file > 5mb
(trovato anche un ttf da 5 e passa..., a me ignoto prima):
un win32.hlp borland, sui 7.
qui c'e' qualcos'altro tirato giu'. se vuoi te ne appoggio un po' in un ftp
temp. forse dicevi l'ultimo della lista ?
ciao, a.
directory di c:\vb_ftp\_docs\_help
vb_bugs  cnt        18.332  18/12/95   9.58 vb_bugs.cnt
vb_tips  cnt        64.421  19/12/95   8.51 vb_tips.cnt
ttf_spec hlp       928.891  08/02/94  20.25 ttf_spec.hlp
vb_bugs  hlp       991.953  18/12/95   9.59 vb_bugs.hlp
vb_tips  hlp     5.602.235  19/12/95   8.54 vb_tips.hlp
vbcode   hlp        42.684  04/08/95   1.08 vbcode.hlp
vbconv   hlp        30.966  06/04/95  12.22 vbconv.hlp
vbfaq    hlp       116.962  09/03/97  10.03 vbfaq.hlp
vbpp96   hlp     1.175.232  02/12/96  14.11 vbpp96.hlp
vbpp97   hlp       108.256  24/11/96   4.02 vbpp97.hlp
vbpqrwau hlp       239.470  11/06/95   6.51 vbpqrwau.hlp
vbtt95   hlp     1.089.149  05/06/95  21.11 vbtt95.hlp
win32sdk hlp    20.033.075  26/11/96  11.00 win32sdk.hlp

 sei sicuro che ne parlassi io ?
Prendi il post sul subclassing (parte seconda) e leggi le ultime righe.


Aaarrggghhh.
VB si ripete.
Dopo aver risolto con quell'orrendo problema sui controlli in matrice,
lo stesso si ripete.
E' una cosa orrenda.
Al primo caricamento del form tutto va ok.
Dal secondo caricamento in poi alcuni oggetti sono visibili, possono
essere cliccati, ma non gli si puo' far riferimento (ne' leggere ne' scrivere
le proprieta')
Ho provato a mettere un paio di debug.print ma tutto sembra quadrare.
Ho provato anche con i Watch sulle immagini in questione, ma quando
provo ad aprire la treeview dell'area watches mi risponde con un
semplice errore 452 Ordinale non valido.
E' forse la mia versione che e' buggata?
A questo punto ho quasi deciso di passare definitivamente a VB6.
Per oggi vado alla caccia di qualche SP di VB5


 Per oggi vado alla caccia di qualche SP di VB5
come sarebbe
"vado alla caccia" ?
non hai sp3 gia' installato ?
che io sappia senza c'erano un casino di buchi.
dovrebbe essere sul sito comune, sez. ftp.
ciao, a.

 Prendi il post sul subclassing (parte seconda) e leggi le ultime righe.
infatti, ne parlava hyperion e non ci avevo badato.
l'hlp borland e' uno di quelli che ti ho segnalato, comunque ce l'ho in
qualche forma.
vuoi che te lo metta in ftp ?
seno', io ho una dedicata, ma tu come stai a mailbox ? siamo sugli 8 in
zip...
ciao, a.

 dovrebbe essere sul sito comune, sez. ftp.
Sto scaricando il SP3 (che non avevo ancora)
P.S. mi sa che hai problemi con la casella 
p...@zelig.it
(utente sconosciuto) Se hai ICQ chiamami.


 zip...
Finche' sono on-line l'indirizzo e' attivo, ma dinamico.
io mi collego di mattino.
altrimenti mandalo a 
gs...@gsm83.com


 (utente sconosciuto) Se hai ICQ chiamami.
nessun problema. quello e' un'antispam:
--
andrea....@tin.it

 ottimo (scaricarlo :)
L'ho installato ma il risultato non cambia.
Stessi errori e medesimi problemi.
Cmq ho risolto il problema creando una nuova istanza
con Set MioForm = new MainForm
e poi scaricandolo con Unload MioForm
Precedentemente utilizzavo Load MainForm e Unload MainForm
A questo punto mi chiedo: Che cappero fa VB quando gli dico
Load MainForm? Non crea un'istanza di MainForm?
Grazie ancora MS.
