Exit93 (Ex-Member)
Rookie
Messaggi: 34
Iscritto: 31/03/2008
|
Ho letto qui come fare a includere e caricare un form in formato dll http://www.pierotofy.it/pages/extras/forum/16/44065-form_i ...
Ma se volessi includere più form nella stessa dll? Però fare in modo che per esempio ho 2 form nella dll, apro il primo con il mio exe pincipale e poi apro il secondo dal form1 della dll
Mi da errore Form2.Show() alla compilazione, come si può fare?
Poi una volta aperto uno o più form da una dll come faccio a chiuderli tutti dal prog principale (.exe)?
Grazie in anticipo
Ultima modifica effettuata da Exit93 il 16/06/2009 alle 19:26 |
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Form2.Show() è scritto dove, nel programma o nel codice della libreria? E in che punto di questi? E quale errore produce? Mi domando se le persone leggano il regolamento prima di postare.
|
|
13Booob13 (Normal User)
Newbie
Messaggi: 13
Iscritto: 09/06/2008
|
Postato originariamente da Il Totem:
Form2.Show() è scritto dove, nel programma o nel codice della libreria? E in che punto di questi? E quale errore produce? Mi domando se le persone leggano il regolamento prima di postare. |
Rispondo io al posto suo, Poichè il problema era di entrambi (stiamo lavorando per lo stesso progetto).
Form2.Show è scritto nel codice della libreria, non nel programma.
Cioè cliccando su un immagine dovrebbe aprirsi l'altro form, peccato che da questo errore:
"Il riferimento a un membro non condiviso richiede un riferimento a un oggetto."
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Potete postare il codice in cui caricate la Form2 dalla dll? Sicuramente il problema si trova lì (il vostro codice non riesce a creare un'istanza della Form2).
|
|
Jeremy (Normal User)
Pro
Messaggi: 134
Iscritto: 08/02/2009
|
Il problema è che, non centrando nulla l'errore con il metodo Show del form, è difficile aiutarvi senza vedere del codice.
Dall'errore che ricevete, è chiaro che non è stata creata istanza dell'oggetto Form2 .... il perchè, lo sapete solo voi.
Ciao.
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da Jeremy:
Dall'errore che ricevete, è chiaro che non è stata creata istanza dell'oggetto Form2 .... il perchè, lo sapete solo voi. |
Vi state riferendo al tipo Form2, e non ad una sua istanza. |
|
Jeremy (Normal User)
Pro
Messaggi: 134
Iscritto: 08/02/2009
|
Postato originariamente da Il Totem:
Vi state riferendo al tipo Form2, e non ad una sua istanza. |
In un progetto WinForms, il tipo Formn2 avrebbe un'istanza predefinita ... ma in un progetto libreria NO! |
|
Exit93 (Ex-Member)
Rookie
Messaggi: 34
Iscritto: 31/03/2008
|
Quindi come creo un'istanza?
E per questo?
Poi una volta aperto uno o più form da una dll come faccio a chiuderli tutti dal prog principale (.exe)? |
Ultima modifica effettuata da Exit93 il 18/06/2009 alle 22:14 |
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Per l'istanza:
Codice sorgente - presumibilmente C# / VB.NET |
Dim frm2 as New Form2
frm2.Show()
|
Per la seconda domanda:
Dall'applicazione principale richiamate una sub chiudi:
Codice sorgente - presumibilmente Plain Text |
così implementata
Codice sorgente - presumibilmente VB.NET |
Public Sub Chiudi(byVal form2 as Form) form2.Close() Me.Close() end sub
|
Ovviamente dovete passare alla sub l'istanza precedentemente ottenuta e essa stessa deve essere chiamata tramite un'istanza della form1. Ultima modifica effettuata da manvb.net il 19/06/2009 alle 1:36 |
|