Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Konstruktor mi vraća vrednost Property-a iz Design time-a

[es] :: Pascal / Delphi / Kylix :: Konstruktor mi vraća vrednost Property-a iz Design time-a

[ Pregleda: 2632 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cacafaca
Nemanja Simovic
Beograd, Voždovac

Član broj: 49511
Poruke: 174
91.150.114.*

ICQ: 68999229


+18 Profil

icon Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 11:31 - pre 183 meseci
U konstruktoru sam ubacio neke podrazumevane vrednosti da bi u Object inspectoru imalo šta da se pojavi. Ali kada pokrenem program neka polja koja sam u Object Inspectoru izmenio ponište mi se, verovarno, jer ih pri pokretanju i pravljenju objekta konstruktor vrati na staro. Kako da postavim podrazumevane vrednosti za Design time?
Ovo mi stoji u konstruktoru:
Code:

constructor TLotoKolona.Create(Owner: Tcomponent);
begin
  inherited Create(Owner);
  ...
  BrojBrojeva := 39;  // LOTO 1 od 39 podrazumevano
  BrojKolone := 1;
  ...


Ako postavim da mi je BrojKolone u design time-u npr 2, sve lepo radi i iscrta, samo kada pokrenem program ono se vrati na 1.

PS. Ovo je komponenta koja donosi sreću
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
*.datalab.si.

ICQ: 174153511


+26 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 13:39 - pre 183 meseci
sta ti je ovo

Citat:

BrojBrojeva := 39; // LOTO 1 od 39 podrazumevano
BrojKolone := 1;


promenjive ili propertiji ?

 
Odgovor na temu

cacafaca
Nemanja Simovic
Beograd, Voždovac

Član broj: 49511
Poruke: 174
91.150.114.*

ICQ: 68999229


+18 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 13:52 - pre 183 meseci
To je Property
Code:

property BrojKolone: LongWord read FBrojKolone write PostaviBrojKolone;
property BrojBrojeva: Word read FBrojBrojeva write PostaviBrojBrojeva;
 
Odgovor na temu

priki

Član broj: 24732
Poruke: 700
84.255.195.*

ICQ: 174153511


+26 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 14:36 - pre 183 meseci
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
 
Odgovor na temu

NemesisMMX
Beograd

Član broj: 152324
Poruke: 28
*.com
Via: [es] mailing liste

Sajt: www.designbuildersoftware..


Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 15:00 - pre 183 meseci
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.
 
Odgovor na temu

cacafaca
Nemanja Simovic
Beograd, Voždovac

Član broj: 49511
Poruke: 174
91.150.114.*

ICQ: 68999229


+18 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 16:10 - pre 183 meseci
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)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 17:19 - pre 183 meseci
> 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.
 
Odgovor na temu

cacafaca
Nemanja Simovic
Beograd, Voždovac

Član broj: 49511
Poruke: 174
93.87.179.*

ICQ: 68999229


+18 Profil

icon Re: Konstruktor mi vraća vrednost Property-a iz Design time-a14.04.2009. u 19:47 - pre 183 meseci
Citat:
savkic: property Proba: Integer read FProba write FProba default 25;

Nisam znao za kljucnu rec default koja je kljucna.

Mersi boku savkic!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Konstruktor mi vraća vrednost Property-a iz Design time-a

[ Pregleda: 2632 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.