[ cacafaca @ 14.04.2009. 11:31 ] @
[ cacafaca @ 14.04.2009. 11:31 ] @
[ priki @ 14.04.2009. 13:39 ] @
sta ti je ovo
Citat: BrojBrojeva := 39; // LOTO 1 od 39 podrazumevano BrojKolone := 1; promenjive ili propertiji ? [ cacafaca @ 14.04.2009. 13:52 ] @
To je Property
Code: property BrojKolone: LongWord read FBrojKolone write PostaviBrojKolone; property BrojBrojeva: Word read FBrojBrojeva write PostaviBrojBrojeva; [ priki @ 14.04.2009. 14:36 ] @
koliko znam
propertiji su obično vidljivi i/ili dostupni svetu izvan klase gde su deklarisani i tamo podešavaš vrednosti propertija a ne u samoj klasi [ NemesisMMX @ 14.04.2009. 15:00 ] @
To ne bi trebalo da se desava.
Ako si definisao property a onda snimio objekat pre unistavanja kada pokrenes program i ucitavas objekat, nakon konstrutora poziva se kod koji ucitava vrednosti za svaki storovan property. Tako da vrednosti koje si definisao u konstruktoru vaze samo sa objekte koje si napravio u runtime-u a ne i za one koji se vec nalaze na formi. Dakle, konstruktor ti sigurno ne brise vec postavljene vrednosti. trazi gresku na drugom mestu. [ cacafaca @ 14.04.2009. 16:10 ] @
Citat: NemesisMMX: Tako da vrednosti koje si definisao u konstruktoru vaze samo sa objekte koje si napravio u runtime-u a ne i za one koji se vec nalaze na formi. Hvala na savetu. Ovo nisam znao. Mislio sam da postoji neki trik za definisanje property-a van konstruktora. Provericu kod. Citat: priki: propertiji su obično vidljivi i/ili dostupni svetu izvan klase gde su deklarisani i tamo podešavaš vrednosti propertija a ne u samoj klasi To me je interesovalo. Odakle Object Inspector cita porazumevane vrednosti npr Button.Height, koje je obicno > 0) [ savkic @ 14.04.2009. 17:19 ] @
> Hvala na savetu. Ovo nisam znao. Mislio sam da postoji neki trik za definisanje property-a van konstruktora. Provericu kod.
Da budemo precizni, konstruktor se izvršava uvek, i dodele koje se urade u njemu važe bez obzira da li je komponenta ručno napravljena u runtime ili je to učinio Delphi streaming sistem za design time komponente. Ono što se dodatno dešava tokom strimovanja (a posle konstruktora, dakle vrednosti postavljene konstrukturu se mogu tada promeniti) je učitavanje vrednosti zapisanih u DFMu forme, ako tih vrednosti nema onda važe one iz konstruktora ili default vrednosti koje postavi sam kompajler (npr, za stringove je to '' - prazan string). > To me je interesovalo. Odakle Object Inspector cita porazumevane vrednosti npr Button.Height, koje je obicno > 0) To se obično postavlja u constructoru i to su takozvane default vrednosti. Može se postaviti pitanje, čemu onda služi default direktiva u published sekciji? Ona govori Delphi striming sistemu da li je potrebno sačuvati vrednosti u DFMu, ako je vrednost ista onda se ne čuva jer se pretpostavlja da se postavlja u konstruktoru. Na primer ako imamo ovako deklarisan properti: property Proba: Integer read FProba write FProba default 25; i u constructoru: FProba := 25; Ako se vrednost u ObjectInspectoru promeni sa 25 u npr. 26 onda će se to zapisati u DFM. [ cacafaca @ 14.04.2009. 19:47 ] @
Citat: savkic: property Proba: Integer read FProba write FProba default 25; Nisam znao za kljucnu rec default koja je kljucna. ![]() Mersi boku savkic! Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|