Newsgroup: it.comp.appl.access
Titolo: creare un'istanza di una form con NEW modulo_di_classe con OPENARGS

 openargs arriverebbe tardi...
tra l'altro OpenArgs (dimentivao) è a sola lettura...

ciao a tutti
quando faccio una cosa tipo
set frmProva = new Form_Prova
set frmProva.visible = true
creo una nuova istanza della form "prova".. ma come posso crearla e
assegnare dei valori a OpenArgs ?
La mia form gią esiste e funziona.. e all'evento "onLoad" fa un po di
cosette in funzione del parametro OpenArgs (con docmd.openForm funziona
benissimo) ma se creo un'istanza con "new" subito dopo il set parte l'evento
frmProva.onload e una successiva assegnazione manuale alla proprietą
openargs arriverebbe tardi...
come fare ?
buona notte insonne a tutti!
il vostro mago  galbusera

"il mago galbusera" <galb...@katamail.com.NOWAR> ha scritto nel messaggio
news:aurtn5$1pg$1...@fata.cs.interbusiness.it...

Questo è fuori dubbio......!
In effetti la gestione delle Istanze di Form non è così comune.
Innanzitutto sarebbe buona cosa registrare una Collection, per
sapere quante istanze hai aperto, è un modo più corretto anche
per fare riferimento a quella giusta.....!
In realtà credo dovresti provare a crearti dei Metodi e delle Proprietà
intrinseche della Form, non usare OpenArgs.
Con Property Let ti crei la Proprietà che ti serve, e ne gestisci i valori
passati, un pò come si fa con i moduli di classe.....!
Credo dovrebbe funzionare...., ho qualche perplessità sul riferimento delle
proprietà in Nuove Istanze, ma credo che con la Collection dovrebbe
andare usando il metodo Item(...) per riferimento.
Per gestire la Collection ti allego il codice che uso............(Mettilo in
un modulo Bas)
Public clnClient As New Collection  'Instances of frmClient.
Function OpenNewClient()
    'Azione:  Apre una nuova istanza indipendente.
    Dim frm As Form
    'Apre e ne modifica la Caption.
    Set frm = New Form_frmClient
    frm.Visible = True
    frm.Caption = frm.Hwnd & ", opened " & Now()
    'Aggiunge l'istanza alla Collection
    clnClient.Add Item:=frm, Key:=CStr(frm.Hwnd)
    Set frm = Nothing
End Function
Function CloseAllClients()
    'Azione: Chiude tutte le istanze della Collection.
    Dim lngKt As Long
    Dim lngI As Long
    lngKt = clnClient.Count
    For lngI = 1 To lngKt
        clnClient.Remove 1
    Next
End Function
@Alex.

 Public clnClient As New Collection  'Instances of frmClient.
che figata queste cose qui.. le collections intendo! :)
era proprio quello che stavo cercando di implementare io a  manina con i
moduli di classe .. lo sapevo che dovevo finire di leggere il manuale prima
di mettermi al lavoro!
grazie mille :)

"il mago galbusera" <galb...@katamail.com.NOWAR> ha scritto nel messaggio
news:aus6cu$677$1...@grillo.cs.interbusiness.it...

Si, sappimi dire come funziona, non ho mai fatto grandi prove sulle Istanze
di Form
e la possibilitą di giocare con le Proprietą............!!!
Ciao.

 e la possibilità di giocare con le Proprietà............!!!
per funzionare funziona.. anche bene
devo solo sottolineare due cosette:
1) ho dovuto rivedere alcune delle mie funzioni poichè il puntamento alle
forms nella forma currentdb.forms("nome della form") non funziona più
(ovviamente, visto che ora ci sono più forms aperte con lo stesso nome!!)
2) non ho idea di come aprire un'istanza di una form e contemporaneamente
assegnarle il parametro openargs (ho alcune forms che all'evento onOpen si
comportano diversamente in funzione del parametro OpenArgs..) Al momeno sono
costretto ad aprire la form senza parametro, asssegnarle un valore ad una
variabile e richiamare una funzione che prende le dovute decisioni (leggi,
molto meno elegante e prestante)
per il resto ribadisco che le collections sono una figata!
mandi

"il mago galbusera" <galb...@katamail.com.NOWAR> ha scritto nel messaggio
news:avm0u7$h6f$1...@grillo.cs.interbusiness.it...

Ho dei dubbi si possa, visto che per aprire un'istanza non usi Docmd......!
Ma puoi crearti una Property (Let) in cui passi quello che passavi con
OpenArgs
ovvio che serve una riga di codice in più.........!!!
Il difficile, si fa per dire, è però usare la collection in modo corretto
per riferirti
all'istanza quando devi passargli un dato alla Property della Form,
altrimenti non
funziona.............!!!
@Alex.