» »

VB6 zapiranje formov?

VB6 zapiranje formov?

GaS ::

imam eno tezavco;imam en projekt, ki ima osnovni form in potem se recimo 5 drugih ki se klikom v menuju prikazejo.zdej problem je v tem, da ko glavni form zaprem, ubistvu proces se vedno laufa in se ne zapre.zapre se samo v primeru ko program zazenes in ne odpiras nobenega drugega forma.v tem primeru se tut proces "ubije".cim pa kliknes recimo na about, nato zapres about in nato zapres glavni form, ti proces se vedno laufa.

V cem je problem? ostale forme zapiram z Unload Me. a je ksna druga moznost kako bi jih lahko zaprl?

thanx!

arch5 ::

probi tkole:
For Each FRM In Forms
Unload FRM
Next


tole zaženeš pred zapiranjem glavnega forma.

Zgodovina sprememb…

  • spremenilo: arch5 ()

BigWhale ::

Ali izvedi Exit (ali kakorkoli se mu ze rece) ali pa prej ostale forme unloadaj...

Sej ni tolk tezko no, kristus, zakaj imas pa MSDN?!

GaS ::

sej lih v tem je fora, da ni tezko, sam ne vem kaj ga zajbava..pr vsakemu formu imam unload me in to bi mogl bit to..bom probu se z exit:)

Maximus ::

probi namesto unload me, napisat unload imeforme

Zgodovina sprememb…

  • spremenil: Maximus ()

BigWhale ::

Kje imas Unload Me? To moras imet nekje v kodi, da se to tudi izvede...

Ce ti kak Exit() ni vsec, pa lahko v Unload eventu od main forma klices se Unload za vse ostale forme... Ampak, zakaj bi, exit je popolnoma dovolj....

GaS ::

ja, zdej sm ustimal..sm dal v glavni form_unload() se to kodo pa dela:
For Each FRM In Forms
Unload FRM
Next

thanx arch5 in ostali:))

BigWhale ::

Hmm... End() je ukaz, ki ga isces...


In pravilen izhod iz programa, tak 'po reglcih' bi moral biti:

unload all forms
unload self
end()

klic end-a je v bistvu precej nujna zadeva... ce bos pa klical samo end(), ti bo pa buggy memory manager posvinjal memory...

GaS ::

sem ustimal:))zdej me samo se zanima, kako bi naredil, da ko imam odprt nek drug form, npr. about, da ne morem skociti v glavni form, dokler about ne zaprem?

darkolord ::

Ahm END JE ZLOBEN!!!

nikoli in nikdar ne uporabljaj End ukaza ker lahko pusti reference v pomnilniku in tako se vedno pobira ram... prepricaj se da unloadas in unicis vse forme in VSE objekte (povezave do baz, ...) pa da po možnosti ustaviš timerje... pol pa uporabiš tako kodo:

Dim f as form
for each f in forms
unload f
set f = nothing
next


Če hočeš za formo narest da je modalna (da ne morš preklapljat na druge forme), uporabiš tole kodo za prikaz druge forme: frmAbous.Show vbModal, frmMain

Zgodovina sprememb…

  • spremenilo: darkolord ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# povezava forma in classa

Oddelek: Programiranje
172364 (1827) Miko55
»

C# Pomoč

Oddelek: Programiranje
131412 (1237) jizzer
»

C# okna in podokna

Oddelek: Programiranje
111663 (1257) FlashM
»

[VB2005Pro]Zapiranje in še Eno uprasanje

Oddelek: Programiranje
81144 (1077) UltraTX
»

VB6 - ne zaključi proces programa - pomoč !!!

Oddelek: Programiranje
131398 (1239) Mavrik

Več podobnih tem