Na o tai kaip mano atveju (Visual Studio 5, Visual Basic), prisibrauti prie to GC (Garbage Collector) ? "Jornada Del Muerto" <agiraTrintI@gmx.co.uk> wrote in message news:i9s1h6$n88$1@trimpas.omnitel.net... > Instance tai kazkokio tipo sukurtas objektas, pvz.: DataTable yra tipas, > tipas gali buti klase, struktura, ar primityvus tipas pvz int ir t.t.. tai > yra tipas, o sio tipo sukurtas objektas yra to tipo object instance, arba > tiesiog to tipo instance, pvz.: > > Daleiskim tu susikurei savo open file dialog klase, ja uzvadinai > "ManoFileOpenDialogas" <- kitaip sakant sukurei ManoFileOpenDialogas tipa. > > ' Deklaruojam > Dim a As ManoFileOpenDialogas ' nurodai kad kintamasis a bus > ManoFileOpenDialogas tipo > > ' kintamajame a sukuriu (kiti dar vadina inicializuoju) > ManoFileOpenDialogas tipo object instance > a = new ManoFileOpenDialogas ' va a ir bus instance (dar kiti vadintu > objektu, zodziu kaip nepavadinsi taip nepagadinsi) > > Siaip terminologijos ipac tokios bazines OOP vertetu pasimokinti, ok > toliaujam keliau :) tau ka is esmes norejo pasakyti zmones, kad .NET yra > toks dalykas kaip GC (Garbage Collector) grubiai vertus, siuksliu > rinkejas, pvz. kokiam nors C++ viska alokuota rankiniu budu atminti skirta > kazkokiam programos darbui, po to reikedavo nepamirsti atlaisvinti - > kitaip ji uzimdavo ir toliau vieta ir su laiku prisikaupdavo tos > rezervuotos/alokuotos atminties daug, nuo ko galedavo luzti programa, .net > atvejais tam buna ivairus metodai dispose ir pan.. Bet .NET daugeli tokiu > objektu pasalina pats GC pagalba, del to greiciausia su tavuoju objektu > taspats atsitinka, tiesiog reik suprasti kokiom aplinkybem .net pats juos > naikina. > > Visumoje .net automatu, kaip jau ir minejau naikina objektus kurie > niekur nera saugomi ar isiminti, pvz kazkokiam kintamajame ir panasiai, > pvz. turime funkcija: > > Public Sub ManoFunkcija > > Dim a As ManoFileOpenDialogas ' > a = new ManoFileOpenDialogas > > ' dirbi su a > a.DoModal() ' ir t.t... > > End Sub > > Isejus is sios funkcijos a bus automatiskai naikinamas, bet sekanti > karta iskvietus sia funkcija (tiksliau metoda) objektas sukuriamas bus is > naujo, taip va ir turetu buti daroma, paprastai atmintyje niekas nelaiko > inicializuotu OpenFileDialog'u, aplamai kuo maziau laikysi tokio > nereikalingo saugoti slamsto tuo tavo programa maziau resursu valgys, o > jeigu nori ji saugotis del to kad naudosi labai daznai (nebent) tai > saugokis toje klaseje kuri su juo dirbs, tada butu kazkas tokio: > > ' Klases, bet ne metodo/funkcijos zonoje deklaruotas kintamasis > public OpenFile As ManoFileOpenDialogas = Null ' Nepamenu gerai VB.NET > sintakses, paskutini kart reikejo pries 5 metus > > Public Sub ManoFunkcija > > If Me.OpenFile = Null Then ' rodos VB kitaip tikrinasi ar objektas null > Me.OpenFile = new ManoFileOpenDialogas > End If > > ' kreipiesi i savo dialoga > Me.DoModal() ' ir t.t... > > End Sub > > Tada 1 karta bus sukuriamas dialogas ir veliau pernaudojamas ji nekuriant > dar karta, tuo paciu jis saugomas bus klaseje kuri ji naudoja, siaip tai > geriausia savo kodo parasytum, tai tada butu aiskiau kas negerai, gal beda > visai kitur. > > > Freelancer Developer [R&D] > http://www.lythum.lt > > Naujausias research: > http://wiki.lythum.lt/index.php?title=Facebook_integrafimo_galimyb%C4%97s > > > "Valdas" <valdonas@super.lt> wrote in message > news:i9rr3e$cre$1@trimpas.omnitel.net... >> na as kazko nesuprantu, siaip as ant Visual Basic darau, tai kas tas >> instance nezinau :(( >> >> "Andrius F" <andriusflMORESPAM@gmail.com> wrote in message >> news:i9rq8p$bic$1@trimpas.omnitel.net... >>> kiekviena karta pries ShowDialog() kurk nauja instance.. >>> using(var form = new SomeForm()) >>> { >>> if(form.ShowDialog(this) == DialogResult.Ok) >>> { >>> ... >>> } >>> } >>> >>> "Valdas" <valdonas@super.lt> wrote in message >>> news:i9rf9u$qk9$1@trimpas.omnitel.net... >>>> ka reiskia nereusint instance, tai kaip tada naudotis tuo ShowDialog ? >>>> man reikalingas tas modaliskumas, nes darau savo open file dialoga, ir >>>> kai uzdarau forma, tik tuomet gaunu reiksme... >>>> >>>> "fakeID" <fakeID@fakeHost.com> wrote in message >>>> news:i9rcss$n3d$1@trimpas.omnitel.net... >>>>> Nereiktu reusinti formos instance, nebent tau tikrai taip reikia (pvz >>>>> forma kuriasi 15 sek, bet tada turbut kazkas blogai su tavo forma ;).. >>>>> Blogiausiu atveju isitikink, kad GarbageCollector nesunaikins tavo >>>>> formos: >>>>> a. ikisk instance i static field >>>>> b. galbut verta overridint close, ir hidint forma vietoj >>>>> base.close() >>>>> >>>>> bet siaip - nereusink instance. tai bloga architektura >>>>> >>>>> "Valdas" <valdonas@super.lt> wrote in message >>>>> news:i9r6gd$er1$1@trimpas.omnitel.net... >>>>>> Sveiki, iskilo tokia beda, bandant is vienos formos atidaryti kita >>>>>> "Forrm2.ShowDialog()", pradzioje atidaro, bet programai padirbus >>>>>> kokia >>>>>> valanda ir vel bandant atidaryti, meta klaida >>>>>> "ObjectDisposedException", gal nujauciat kur cia beda ? >>>>>> >>>>>> aciu >>>>>> >>>>>> >>>> >>>> >> >>