PDA

Visualizza la versione completa : [VB.NET] Visualizzare Form.


ladyBlu
30-08-2002, 09:49
Buongiorno a tutti voi del forum.
Ho iniziato a studiare VB.NET: mi girano tutte le rotelle della testa... :dh: troppo diverso dal VB6!!!

cmq, ho un problema sicuramente idiota e che voi sicuramente saprete risolvere in un batter d'occhio.
Dunque, devo scrivere in .NET la cara, vecchia istruzione:

NomeForm.Show

Io ho scritto cos:
NomeForm.ActiveForm.Show()

ma se mando in esecuzione il prg mi si blocca proprio qui e mi da il seguente errore:
"Eccezione non gestita di tipo "System.NullReferenceException" in mioProg.exe.
Informazioni aggiuntive: Riferimento a un oggetto non impostato su un'istanza di oggetto."

Bene ragazzi, aspetto il vostro aiuto, perch sui testi che ho a disposizione non ho trovato nessun aiuto.

Vi ringrazio tutti.

:ciauz:

CAINO76
30-08-2002, 10:01
Ciao LadyBlue

Hai Provato con la propriet Dispose ??

Non sono sicuro al 100%, pero' tentar non nuoce !!

Bye !

ladyBlu
30-08-2002, 10:04
grazie Caino, ho appena provato, ma niente... stesso identico problema.

Credo che vb voglia da qualche parte un riferimento all'oggetto; come se il nome del form non fosse sufficiente per riconoscerlo e quindi aprirlo.
:confused: :dh:

credo che diventer pazza... :bh: :dh:

CAINO76
30-08-2002, 10:21
OK ci sono !!

Devi instanziare l'oggetto (come in java!!)

Passi :

Inserire il form nel progetto ( es. MioForm)

quando ti serve, scrivi
Dim MioForm1 as New MioForm()
MioForm1.Show()

Bye!!

ladyBlu
30-08-2002, 10:28
Sei grande... ora lo apre.
solo me lo chiude subito... cio, io lo vedo per circa 5 secondi, dopodich chiude tutto il prg.
Manca ancora qualcosa? :master:



cmq, grazie mille per l'aiuto e la pazienza! :D

biste
30-08-2002, 10:39
strano ke ti si kiuda subito... prova con showdialog al posto di show e se puoi incollami una parte di codice ke ci d un'okkiata...
Cmq quello ke ha detto caino esatto xk devi creare un'istanza del form e oltretutto se vuoi poi tornare al form kiamante devi salvarti da qlke parte anke l'istanza esistente di esso...
Nn so se sono stato kiaro, cmq x kiarimenti sto qui ;)

p.s. Dispose nn c'entra nulla, anzi distrugge l'oggetto e dice al garbage collector di eliminarlo x liberare memoria

:ciauz:

CAINO76
30-08-2002, 10:46
Ciao Biste !!

Non che mi sapresti dire perch non mi visualizza le intestazioni di colonna della ListView ? (VB.NET) ??

Per il problema di LadyBlu.....Dove hai instanziato l'oggetto form ??
Quale evento scaturisce il form.show??


Bye !!!!

ladyBlu
30-08-2002, 10:47
si, biste, infatti avevo gi messo ShowDialog e cos va.
solo non mi visualizza i dati che prende dal db.
Io creo la connessione con Ado nel modulo e nel codice del form vado a creare i recordset.
solo che adesso non passa nelle sub del form. e quindi non carica il recordset.
:dh: tra un po' mi scoppia il cervello!




mi spiegheresti meglio:
"se vuoi poi tornare al form kiamante devi salvarti da qlke parte anke l'istanza esistente di esso..."
non mi chiaro come dovrei fare...
:master:

CAINO76
30-08-2002, 10:47
Grazie per la precisazione sul Dispose() !!!!!!!:jam:

ladyBlu
30-08-2002, 10:50
Originariamente inviato da CAINO76
Ciao Biste !!

Non che mi sapresti dire perch non mi visualizza le intestazioni
di colonna della ListView ? (VB.NET) ??

Per il problema di LadyBlu.....Dove hai instanziato l'oggetto form ??
Quale evento scaturisce il form.show??


Bye !!!!
io ho un modulo e il suo codice questo:


Module MDLPrincipale
Public StringaConn As String
Public miaConn As New ADODB.Connection()

Public Sub Main()
ImpostaStringaConnessione()

Dim mioForm As New FRMElencoScadenze()
'credo che qui dovrei richiamare il load del form, ma come si fa???
mioForm.ShowDialog()

End Sub

Sub ImpostaStringaConnessione()

StringaConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Password="""";User ID=Admin;Data
"Source=C:\Documents and " & _
App.Path & "\DatiScadenzario.mdb;" & _
"Mode=Share Deny None;Extended Properties="""";Jet" & _
"OLEDB:System database="""";Jet OLEDB:Registry Path="""";" & _
"Jet OLEDB:Database Password="""";" & _
"JetOLEDB:Engine Type=5;Jet OLEDB:Database " & _
"Locking Mode=1;Jet OLEDB:Global Partial Bulk " & _
"Ops=2;Jet OLEDB:Global Bulk Transactions=1;" & _
"Jet OLEDB:New Database Password="""";" & _
"Jet OLEDB:Create System Database=False;" & _
"Jet OLEDB:Encrypt Database=False;" & _
"JetOLEDB:Don't Copy Locale on Compact=False;" & _
"Jet OLEDB:Compact Without Replica " & _
"Repair=False;Jet OLEDB:SFP=False"

miaConn.ConnectionString = StringaConn
miaConn.Open()

End Sub
End Module

Loading