• 13 odgovora
  • 5.626 pregleda
Unload 17.08.2003. u 10:52 · pre 282 meseci #1
Kako je moguće da čak i posle unload-ovanja svakog forma posebno i nakon gašenja mog programa ista opet ostane u taskmanager-u?
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 17.08.2003. u 12:26 · pre 282 meseci #2
Daj si scaniraj disk ... možda imaš kakvog virusa .

Ako nema virusa , formatiraj disk i složi si POŠTENO Windowse ....
Potpis
Seek and you should find ....
Re: Unload 17.08.2003. u 13:29 · pre 282 meseci #3
Isto se dešava i kad ga pokrenem na drugom kompu...
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 17.08.2003. u 22:13 · pre 282 meseci #4
Jel ti to mislis na neki VB projekat ili sta?
Re: Unload 18.08.2003. u 09:58 · pre 282 meseci #5
stavi na unload svake forme i class terminate svake klase unistavanje svih objekata koji postoje (set nesto = nothing)
Potpis
Blue Man Group
Re: Unload 19.08.2003. u 06:29 · pre 282 meseci #6
Mislio sam na vb projekat.
Za sve forme odradio sam i unload i set form=nothing.Osim njih imam još samo kodni modul(koji se valjda sam unload-uje).
Ne ostaje mi uvek 'rep' u taskmanageru-samo kada otvaram formove u izvesnom redosledu.Radim u mdi okruženju i postoji jedna situacija kad neki(ne child) form zamenim drugim(opet ne child),pa onda opet prikažem prvi.I tada kad ugasim svoj projekat ostaje 'rep' u taskmanageru.
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 19.08.2003. u 09:31 · pre 282 meseci #7
Code:

Private Sub MDIForm_Unload(Cancel As Integer)
    Dim Frm As Form
    
    For Each Frm In VB.Forms
        If TypeName(Frm) = "frmMain" Then
            ' Self!
        Else
            Unload Frm
        End If
    Next Frm

End Sub


ovaj kod bi trebao da odradi unload svih ostalih formi kad zatvoris glavnu MDI formu. Na unloadu ostalih formi treba da pocistis objekte koje si kreirao u njima.
Potpis
Blue Man Group
Re: Unload 19.08.2003. u 20:37 · pre 282 meseci #8
Hvala ti k'o bratu!
Stvar je bila u tome što je bilo više instanci jednog forma.Tako da čak i ono unload form sa set form=nothing nije vredelo.
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 25.08.2003. u 07:50 · pre 282 meseci #9
Uf,opet neki problem...
Imam 1 mdiform i 2 forma čije svojstvo child podešeno na false.Prvo se otvara jedan od njih i kad korisnik negde klikne otvara se ovaj drugi form.Taj prvi nisam morao da skrivam,jer po prikazivanju drugog forma ovaj se sam sakrio.
Medjutim,kad hoću ponovo da prikažem prvi on mi ga prikaže kao da sam inicirao novi form koji je prošao kroz load event.Ništa nije zamaptio od interakcije sa korisnikom(veličina forma i ostale 'sitnice').A kad stavim zastavicu na load event,čini se ne prolazi kroz taj event.
Nadam se da sam bio jasan.
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 25.08.2003. u 09:47 · pre 282 meseci #10
Kako moze forma da se sama sakrije? Ajde daj bitne delove koda.
Potpis
Blue Man Group
Re: Unload 25.08.2003. u 13:06 · pre 282 meseci #11
U prvoj formi (Form1) stavi nesto ovako:

Code:

Private WithEvents m_Frm As Form2


u Form2 stavi nesto ovako

Code:

Public Event Finished(ReturnData as Variant)


kad iz prve forme prikazujes drugu, prikazi je ovako:

Code:

Me.Hide
m_Frm.Show


ako vracas nesto iz Form2 u Form1 to smestis u ReturnData (lepse ("programerskije") nego da radis sa public i global promenljivama) i i dignes taj event Finished kad se klikne na ok button, na primer. Isto tako mozes da imas event Canceled koji dizes kad se klikne na Cancel dugme (ako ga imas). U Form1 hendlujes event Finished forme Form2, tj. njene instance m_Frm.

Code:

Private Sub cmdOk_Click()
     ' smesti u ReturnData ono sto treba da bude vraceno prvoj formi
     RaiseEvent Finished(ReturnData)
     Unload Me
End Sub


Code:

Private Sub m_Frm_Finished(ReturnData as Variant)
     ' obradi podatke koje je vratila forma Form2
    Me.Show
End Sub

Potpis
Blue Man Group
Re: Unload 25.08.2003. u 19:52 · pre 281 meseci #12
Naravno da forma ne može sama da se sakrije.Ali imam dosta koda tako da mi se negde provuklo ono
Code:

me.visible=false

Dakle,moja greška.

Evo sta sam ja radio.
u form1 sam kucao
Code:

form2.poziv

a u form2 mi je 'poziv' javna procedura gde je izmedju ostalog
Code:

form2.show

Ti si elegantno napisao onaj kod,ali i dalje me muči to kako da sačuvam neke osobine form1.Da ne bude go form kao nakon loada(veličina,...).Program radi jer ja ručno podesim sve,ali pošto ti podaci uopšte ne zavise od form2,mislio sam da je logično da mi vb prikaže form onakvog kakav sam ga sakrio...
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Re: Unload 26.08.2003. u 09:46 · pre 281 meseci #13
Ako samo radis skrivanje(.Hide, .Visible=False), a ne unload to bi moralo da radi kako treba.Napravi test projekat (jedna MDI forma i dve MDIChild=false), pa napravi sa njima ovo. Znaci samo skrivanje i prikazivanje formi. Ja sam napravio takav projekat i velicina forme prilikom prikazivanja je ista kao prilikom skrivanja. Znaci to bi moralo da radi.
Potpis
Blue Man Group
Re: Unload 28.08.2003. u 17:32 · pre 281 meseci #14
U pravu si.
Jednostavno sam probao još jednom i sad je u redu.Čak i unload na onaj način koji sam pominjao na početku teme radi(unload svekog forma posebno).Ne sećam se da sam nešto menjao u kodu A nisam jednom to do sada pokušavao...Ne znam da li se i tebi tako nešto dešavalo.
U svakom slučaju,hvala ti za uloženo vreme.
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme