Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Array e menù contestuali... dubbi e perplessità :-))

Ciao a tutti.
Due domande alle quali non sono riuscito a trovare risposta (per ora ho
risolto con dei palliativi...):
DUBBIO 1 -- E' possibile sapere se un array dinamico č inizializzato? Per
esempio:
public Array() as integer
public sub Prova()
dim Quantita as long
Quantita = UBound(prova) ' Questa istruzione, se l'array non č inizializzato
manda in errore il programma (Invalid subscript out of range)
end sub
NOTA: L'array lo inizializzo in un'altra parte del programma... la mia č una
verifica! Prima di chiamare quella funzione controllo se l'array č
inizializzato e - successivamente - rilevo gli elementi contenuti.
NOTA2: In MSDN non ho trovato niente che mi possa aiutare... niente di
evidente intendo!
DUBBIO 2 -- Sapete che quando sono, per esempio, in mezzo al desktop e premo
il tasto destro del mouse mi compare il menů contestuale vicino al
puntatore; in VB come č possibile realizzare ciň? Si crea in qualche modo un
controllo (quale?) e poi si chiama una routine in base al valore del
controllo che ho appena creato?
Grazie di tutto.
Ciao.
Francesco

 controllo che ho appena creato?
Dubbio 1: Credo che non sia possibile (se non attivando una variabile
globale che indica se l'array è stato inizializzato o meno)
Dubbio 2: Vedi PopupMenu

 Dubbio 2: Vedi PopupMenu
Beh! Fin li c'ero!!! :-))
Il problema č che tutto il materiale che ho trovato su MSDN riguarda
VisualC++, ma il VB neanche di striscio!
Quello che chiedevo č se qualcuno conosceva riferimenti precisi!
Capito?!?
Ciao!
Francesco

 ha scritto nel messaggio
news:KCSg8.2854$uN5....@twister1.libero.it...

Metodo PopupMenu
Cerca popupmenu (tutto attaccato) sull'MSDN con il sottogruppo
attivo="Documentazione di Visual Basic"
Risultati:
9
Ciao
--
Timothy Redaelli
timothy(dot)redaelli(at)email(dot)it
-----------------------------------
Links:
Sito Comune: 
www.it-lang-vb.net
MSDN: 
msdn.microsoft.com

 puntatore; in VB come č possibile realizzare ciň?
Devi creare il menu che vuoi usare come menu contestuale, come se fosse un
menu qualsiasi.  Diciamo che lo chiami Mnu1.
Nella MouseDown della tua form (di nome Form1) fai cosě:
   If Button = 2 Then
      PopupMenu Mnu1
   End If
Ciao
*Roby*
P.S.
Il menu che crei puň anche essere invisibile, cos' l'utente non sa che c'č,
tanto la popupmenu si occupa di rimetterlo visibile quando lo apre sopra la
tua form.

    End If

 End Function
Ovviamente questo presuppone che il tuo array non possa evere indici
negativi (difficile ma non impossibile).
Si potrebbe guardare il descrittore dell'array (SAFEARRAY) per sapere
l'effettivo numero di item contenuti nell'array, ma è un po' complesso.
Suggerimento: inizializzare l'array ad un valore non usato.
Es:
Const MIN_LONG = &H80000000
Const NULL_ARRAY = MIN_LONG
Dim a() as Long
Redim a(NULL_ARRAY To NULL_ARRAY)
[codice]
If Ubound(a) = NULL_ARRAY Then
    [array vuoto]
End if
Ciao

 Suggerimento: inizializzare l'array ad un valore non usato.
Sě: anch'io faccio cosě, di solito.
ciao
ugo


Grazie per le risposte... penso comunque di usare la gestione dell'errore
come suggeritomi.
Ciao.
Francesco
P.S. Provata la soluzione del PopUp... funziona... :-)))