Tema: Re: Visual studio 5 ir modaline forma
Autorius: Valdas
Data: 2010-10-26 07:51:17
na vienok tas variantas :
Dim FileDialog as new Form2
FileDialog.Showdialog()

padejo, aciu, galima tema uzdarinet :)

"Jornada Del Muerto" <agiraTrintI@gmx.co.uk> wrote in message 
news:ia470e$thv$1@trimpas.omnitel.net...
> GC.[spausk tada ctrl+space] :))
>
> "Valdas" <valdonas@super.lt> wrote in message 
> news:ia35n5$bs4$1@trimpas.omnitel.net...
>> 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
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>