na as parametra path ir filtra laikau globaliai, kiek jau ten jie tos vietos uzima, o pacios formos turinys generuojamas kekviena karta ja paleidziant. Dar vat idomu kokiu komponentu nenaudoti kad forma greiciau pasileistu ? "Jornada Del Muerto" <agiraTrintI@gmx.co.uk> wrote in message news:ia6tuq$vvm$1@trimpas.omnitel.net... > Tai taip ir yra daryti geriausia, o jeigu tu ja nori saugotis atmintyje > del to kad nepamirst paskutinio vartotojo nurodyto kelio ar kazkokios > tokios informacijos, geriau pasidaryk nustatymu klasyte ar struktura kuria > naudotu jis, pvz: > > // rasau c# taip greiciau man, bet cia elementari klasyte > public class MyDialogSettings { > public string Path; > public string SelectedExtensions; > public string LastFile; > > public MyDialogSettings(string path) { > // Jeigu path tuscias ar lygus null tai nukreips i MyDocuments, > kitu atveju naudos path > Path = (String.IsNullOrEmpty( path ? > Environment.SpecialFolder.MyDocuments : path); > } > > ir t.t... > } > > Ir tada sios klases objekta saugai kur nors savo klaseje kuri naudoja > dialoga, kadangi .NET dirba reference'ais tai i klase bus paduodamas ne > objektas o tik nuoroda i ji: > > MyDialogSettings FileOpenSettings = new MyDialogSettings(null); // > inicializuojam my documents keliu > > ManoDialogas d = new ManoDialogas(Me.FileOpenSettings); > d.ShowDialog(); > > Viska ka darys iskvietus d.ShowDialog tavo klase su settingu objektu ja > sunaikinus liks FileOpenSettings klases memberyje, tada kita kart > inicializuojant nauja dialoga paduodi tapati FileOpenSettings ir tavo > klase naudoja juos vel, taip islaikant visa pries tai buvusio dialogo > stovi. > > Bent jau galima taip daryti, tada nesaugosi ko nereikia o tik ko reikia > atmintyje. > > > "Valdas" <valdonas@super.lt> wrote in message > news:ia5mo5$3qb$1@trimpas.omnitel.net... >> 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 >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>> >>>> >> >>