Tema: Re: Visual studio 5 ir modaline forma
Autorius: Valdas
Data: 2010-10-25 08:48:21
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
>>>>>>
>>>>>>
>>>>
>>>>
>>
>> 


3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser